{{tag>shell utils network backup rsync ssh}}

====== Бэкап с помощью rsync на Debian ======

nano backup.sh
<code sh>
  #!/bin/sh

  current=`date "+%Y-%m-%d"`

  find /var/backups/system/ -maxdepth 1 -name "20*" -mtime +7 -exec rm -Rf {} \;

  /usr/bin/rsync -rlptgo --delete --stats --backup --backup-dir=/var/backups/system/$current --exclude-from='/etc/backup_system/backup_exclude.conf' / /var/backups/system/current

  wait
</code>

backup_exclude.conf
<code>
/mnt
/tmp
/dev
/proc
/sys
/run
/var
/media
/var/backups
**lost+found
/var/tmp
/var/log
/var/run
/var/lock
/var/spool
/var/cache
/var/lib
/var/local
</code>


Параметры:
  * -v: просмотр хода работы.
  * -a: указывает на то, что необходимо сохранить все атрибуты файлов.
  * -r: двигаться по каталогам рекурсивно.
  * --delete: файлы которые были удалены в источнике, будут удалены и в приемнике.
  * --stats: выводит подробную статистику по окончанию работы.

====== Восстановление ======

  * rsync -rlptgo /var/backups/system/ /restore/
  * mkdir /restore/tmp
  * mkdir /restore/dev
