Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # cat /etc/restic/profiles.yaml
- version: "1"
- global:
- default-command: snapshots
- initialize: false
- priority: low
- min-memory: 200
- scheduler: "crond"
- schedule-defaults:
- log: "/var/log/backup.log"
- {{ $mysql_dbs := "prod, dev, logs" }}
- {{ $mongo_dbs := "prod, dev" }}
- groups:
- dbs-backup:
- {{ range $dbname := $mysql_dbs | split "," }}
- {{ $dbname := $dbname | trim }}
- - mysql-db-{{ $dbname }}
- {{ end }}
- mongo-backups:
- {{ range $dbname := $mongo_dbs | split "," }}
- {{ $dbname := $dbname | trim }}
- - mongo-db-{{ $dbname }}
- {{ end }}
- www:
- repository: "s3:s3.ru-1.storage.selcloud.ru/backups/www"
- env-file: "/root/.secrets/restic_backup"
- status-file: "/var/spool/backup.status"
- cache-dir: "/var/cache/restic"
- lock: "/tmp/backup.lock"
- insecure-tls: true
- backup:
- source:
- - "/var/www/"
- tag: "www"
- verbose: true
- extended-status: true
- exclude-caches: true
- one-file-system: true
- compression: "max"
- schedule-permission: system
- schedule-lock-wait: 10m
- snapshots:
- tag: "www"
- check:
- read-data-subset: "10M"
- {{ range $dbname := $mysql_dbs | split "," }}
- {{ $dbname := $dbname | trim }}
- mysql-db-{{ $dbname }}:
- repository: "s3:s3.ru-1.storage.selcloud.ru/backups/dbs"
- env-file: "/root/.secrets/restic_backup"
- status-file: "/var/spool/backup.status"
- cache-dir: "/var/cache/restic"
- lock: "/tmp/backup.lock"
- insecure-tls: true
- backup:
- stdin-command: 'mysqldump $mysqlopts --defaults-extra-file=/root/.secrets/mysql_dumper.cnf -R -Q -q --add-locks {{ $dbname }}'
- stdin-filename: "{{ $dbname }}.sql"
- tag: "mysql-{{ $dbname }}"
- verbose: true
- extended-status: true
- exclude-caches: true
- one-file-system: true
- compression: "auto"
- schedule-permission: system
- schedule-lock-wait: 10m
- snapshots:
- tag: "mysql-{{ $dbname }}"
- check:
- read-data-subset: "10M"
- tag: "mysql-{{ $dbname }}"
- retention:
- tag: "mysql-{{ $dbname }}"
- before-backup: false
- after-backup: true
- keep-yearly: 6
- keep-monthly: 90
- keep-weekly: 2
- keep-daily: 6
- keep-hourly: 3
- keep-last: 6
- prune: true
- {{ end }}
- {{ $tsnow := .Now.Unix }}
- {{ range $dbname := $mongo_dbs | split "," }}
- {{ $dbname := $dbname | trim }}
- mongo-db-{{ $dbname }}:
- repository: "s3:s3.ru-1.storage.selcloud.ru/backups/dbs"
- env-file: "/root/.secrets/restic_backup"
- status-file: "/var/spool/backup.status"
- cache-dir: "/var/cache/restic"
- lock: "/tmp/backup.lock"
- insecure-tls: true
- backup:
- run-before: 'mkdir -p /var/tmp/mongodump/{{ $dbname }}_{{ $tsnow }} && mongodump -d {{ $dbname }} -o /var/tmp/mongodump/{{ $dbname }}_{{ $tsnow }}'
- run-finally: 'rm -rf /var/tmp/mongodump/{{ $dbname }}_{{ $tsnow }}'
- source:
- - "/var/tmp/mongodump/{{ $dbname }}_{{ $tsnow }}"
- tag: "mongo-{{ $dbname }}"
- verbose: true
- extended-status: true
- exclude-caches: true
- one-file-system: true
- compression: "auto"
- schedule-permission: system
- schedule-lock-wait: 10m
- snapshots:
- tag: "mongo-{{ $dbname }}"
- check:
- read-data-subset: "10M"
- tag: "mongo-{{ $dbname }}"
- retention:
- tag: "mongo-{{ $dbname }}"
- before-backup: false
- after-backup: true
- keep-yearly: 6
- keep-monthly: 90
- keep-weekly: 2
- keep-daily: 6
- keep-hourly: 3
- keep-last: 6
- prune: true
- {{ end }}
Advertisement