Скрипт бэкапа файлов
Материал из WikiAdmin
Если нам нужен простой скрипт бэкапа файлов, который можно задать в cron, то можно сделать примерно таким образом.
(Вы еще не делаете бэкапов? Тогда мы берем молоточки для жестких дисков и идем к вам!)
Бэкап (резервное копирование) файлов и папок
- Создадим у себя папку, где будут храниться бэкапы. По сути, вы можете указать любое место, которое вам нравится. В нашем случае мы создадим папку в домашней директории пользователя user. Хотя я бы рекомендовал для этих дел все-таки завести отдельное хранилище.:
mkdir /home/user/backups
- Копируем данный текст скрипта в любой файл, который вам нравится, например backup_site. В данном тексте мы укажем сначала переменные, указывающие что копировать, куда копировать и что пропустить (в нашем случае мы копируем html в backup и не трогаем cache):
#!/bin/bash #указываю переменные: куда копировать, что копировать и какую папку не копировать (например, с временными файлами) export BACKUP_FOLDER="/home/user/backups" export TARGET="/var/www/html" export EXCLD="cache" #ротация rm -rf $BACKUP_FOLDER/03 mv $BACKUP_FOLDER/02 $BACKUP_FOLDER/03 mv $BACKUP_FOLDER/01 $BACKUP_FOLDER/02 mkdir $BACKUP_FOLDER/01 #сама архивация tar cvjf $BACKUP_FOLDER/01/site-`date +%Y-%m-%d-%H-%M-%S`.tar.bz2 $TARGET --exclude=$EXCLD #эта строка нужна, чтобы крон на почту вывел название (проверить дату) и размер архива. ls -lah $BACKUP_FOLDER/01/
Теперь выставляем его в cron с нужной периодичностью и пусть работает. Стоит настроить, чтобы сообщение от выполнения операции приходили на почту, чтобы проверять результат. Как раз последняя строчка ls -lah $BACKUP_FOLDER/01/ и покажет дату создания архива, размер и т.д. Проще утром просмотреть пару таких отчетов, нежели лазить по каталогам и смотреть, все ли забэкапилось.
Восстановление
Тут все просто, достаточно разархивировать нужный вам архив командой tar -xvjf. Например:
tar -xvjf имя.архива.tar.bz2
См. так же: