Резервное копирование каталога в Ubuntu/Debian по расписанию

Для того, чтобы настроить простое резервное копирование содержимого директории в Linux (Ubuntu, Debian) необходимо выполнить несколько простых действий. Предположим, что нам необходимо делать резервную копию фалов, загружаемых на сайт, который. Файлы, которые будем копировать находятся в директории /var/www/mysite/files, директория, в которую будем копировать файлы: /mnt/backup_device/mysite_data.

Напишем простой sh скрипт (назовем его backupdata.sh, он будет лежать в директории /home), который будет копировать все файлы из одной директории в другую:

#!/bin/sh
cp -R /var/www/mysite/files/* /mnt/backup_device/mysite_data/

Для того, чтобы запускать скрипт по расписанию воспользуемся программой cron. Предположим, необходимо копировать файлы каждый день в 5 часов утра. Задание будет выглядеть следующим образом:

0 5 * * * sh /home/backupdata.sh

Так же можно упаковывать копируемые файлы в архив. Перепишем backupdata.sh таким образом, чтобы при каждом резервном копировании создавался новый архив директории с датой резервного копирования:

#!/bin/sh
tar -cvzf /mnt/backup_device/mysite_data/backup-$(date +"%d.%m.%y").tar.gz /var/www/mysite/files

Таким образом, каждый день в 5 часов утра в директории /mnt/backup_device/mysite_data будет создаваться архив директоии /var/www/mysite/files с названием, например backup-14.07.17.tar.gz.