| 1 | # Add new S3 user to Minio |
| 2 | mc admin user add thasystems "s3-username" "s3-password" |
| 3 | |
| 4 | # Create and attach S3 policy to user in Minio |
| 5 | mc admin policy create thasystems restic_sample_policy /tmp/restic_policy.json |
| 6 | mc admin policy attach thasystems "restic_sample_policy" --user "s3-username" |
| 7 | |
| 8 | # Create new bucket 'resticsample' and ignore if it already exists |
| 9 | mc mb --ignore-existing thasystems/resticsample |
| 10 |
MrGeneration / Useful Minio Console and Restic commands
Last active 3 months ago
Commands used as shown in the video https://youtu.be/P-Pr7Dy6mP8 .
Revision 40c26b75802782d0494c508db8ecaabe349c48c0
| 1 | # (environment) variables you need |
| 2 | export AWS_ACCESS_KEY_ID="s3-username" |
| 3 | export AWS_SECRET_ACCESS_KEY="s3-password" |
| 4 | export RESTIC_PASSWORD="password" |
| 5 | |
| 6 | # initialize Minio Backup Repository |
| 7 | restic -r s3:https://s3.domain.tld/resticsample init |
| 8 | |
| 9 | # Export PostGreSQL Dump of Zammad database |
| 10 | sudo -u postgres pg_dump --dbname zammad --no-privileges --no-owner >> /tmp/zammad.psql |
| 11 | |
| 12 | # Backup complete Zammad directory with database dump |
| 13 | restic -r s3:https://s3.domain.tld/resticsample migrate |
| 14 | restic --no-scan --read-concurrency=25 --pack-size=128 --compression off -r s3:https://s3.domain.tld/resticsample backup --exclude "/opt/zammad/tmp/*" /opt/zammad/ /tmp/zammad.psql |
| 15 | |
| 16 | # Restore a PostGreSQL Dump from Repo |
| 17 | restic -r s3:https://s3.domain.tld/resticsample dump latest '/tmp/zammad.psql' | sudo -u postgres psql zammad |
| 18 | |
| 19 | # Restore Zammad filesystem |
| 20 | restic -r s3:https://s3.domain.tld/resticsample restore latest --include /opt/zammad/ --target / |
| 21 |
| 1 | # List all snapshots of the backup repository |
| 2 | restic -r s3:https://s3.domain.tld/resticsample |
| 3 | |
| 4 | # List files in your backup |
| 5 | restic -r s3:https://s3.domain.tld/resticsample ls --long latest /opt/zammad/config/ |
| 6 | |
| 7 | # Mount your backup for easier search of files all over all snapshots |
| 8 | # (technically works for restore too, but slower) |
| 9 | restic -r s3:https://s3.domain.tld/resticsample mount /mnt/ |
| 10 | |
| 11 | # Apply snapshot hold policy and remove snapshots older than defined rules |
| 12 | restic -r s3:https://s3.domain.tld/resticsample forget --group-by '' --keep-hourly 1 --keep-daily 14 --prune |
| 13 | |
| 14 | # Read 25% of your backup to verify its integrity |
| 15 | restic -r s3:https://s3.domain.tld/resticsample check --read-data-subset=25% |
| 16 | # Do it on 100% of your backup |
| 17 | restic -r s3:https://s3.domain.tld/resticsample check |
| 18 | |
| 19 | # Change the current password of a repository key |
| 20 | restic -r s3:https://s3.domain.tld/resticsample key passwd |
| 21 | |
| 22 | # Add further keys to your repository |
| 23 | restic -r s3:https://s3.domain.tld/resticsample key add |
| 24 | |
| 25 | # List all configured keys |
| 26 | restic -r s3:https://s3.domain.tld/resticsample key list |
| 27 | |
| 28 | # Remove a certain key ID (from previous list) |
| 29 | restic -r s3:https://s3.domain.tld/resticsample key remove <id> |
| 30 | |
| 31 | # Unlock a locked backup repository |
| 32 | restic -r s3:https://s3.domain.tld/resticsample unlock |
| 33 |