четверг, 22 апреля 2010 г.

Простой BASH скрипт для BACKUP

Вот мне довелось написать малюсенький скриптик чисто для себя и чисто для своего домашнего сервера.

задачи стояли самые простые:
1-сделать бекап баз данных и сайта;
2-удалять бекапы которые уже устарели.

вот собственно скрипт:

#!/bin/bash
filename=`date +%d_%m_%y`.tar.bz2
cd /var/backup
tar cvpjf $filename /var/www/ /var/lib/mysql
countday=10
day=`date +%d`
let "delday = day - countday"
dday=`echo $delday`
dfilename=`printf $dday`_`date +%m_%y`.tar.bz2
rm /var/backup/$dfilename


И конечно же краткое объяснение что и к чему)
буду объяснять построчно:
1-ну с этого начинается баш скрипт, рассказывать нечего
2-этой переменной мы присваиваем значение такое, каким хотим видеть название архива(бекапа). В данном случае это дата бекапа.
3-здесь мы идем в директорию куда хотим сохранять бекапы
4-здесь мы создаем архив тех папок, которых нам нужны бекапы(пишем их через пробел)
5-здесь присваивается значение сколько дней храниться наш бекап
6-10 -это строки что удаляют старые бекапы

Вот впрочем все....
успешных бекапов

и конечно же совсем забыл)
в /etc/crontab добавляем строчку
30 4    * * *   root    /(НАШ СКРИПТ)

где 30 - мин
4-часы
звездочки означают что в любой день в любой месяц
вот теперь все)

Комментариев нет:

Отправить комментарий