Страница 1 из 1
Резервное копирование файлов
Добавлено: 2014-07-05 11:01:07
Fllik
Нужен скрипт для резервного копирования сайта в определённую папку с датой копирования.
он должен удалять бекапы допустим недельной давности
кто может что подсказать?
Re: Резервное копирование файлов
Добавлено: 2014-07-05 12:27:02
rayder
Так напишите, в чем проблема?
Re: Резервное копирование файлов
Добавлено: 2014-07-05 15:29:36
wien
Вот, пользуйтесь наздоровье. Пути только измените на ваши, пароль на mysql, ну и при желании получать отчет - e-mail.
Только тут создается не папка, а архив в имени которого содержится дата, переделать несложно.
Код: Выделить всё
#!/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin
SHELL=/bin/sh
DIR=/usr/backup/
DATA=`date '+%Y%m%d'`
cd $DIR
mysqldump -u root --password='YOURPASSWORD' -l --all-databases | gzip > databases-$DATA.sql.gz
tar -czf www-$DATA.tar.gz /usr/local/www
for file in *-$DATA.*
do
echo "$file" >> $DIR/current
done
echo "Backup Server $DATA" | mail -s "Backup Server $DATA" mail@domain.ru < $DIR/current
rm -f $DIR/current
find $DIR/* -mtime +7 -exec rm {} \;
Re: Резервное копирование файлов
Добавлено: 2014-07-05 18:43:33
Fllik
wien писал(а):Вот, пользуйтесь наздоровье. Пути только измените на ваши, пароль на mysql, ну и при желании получать отчет - e-mail.
Только тут создается не папка, а архив в имени которого содержится дата, переделать несложно.
Код: Выделить всё
#!/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin
SHELL=/bin/sh
DIR=/usr/backup/
DATA=`date '+%Y%m%d'`
cd $DIR
mysqldump -u root --password='YOURPASSWORD' -l --all-databases | gzip > databases-$DATA.sql.gz
tar -czf www-$DATA.tar.gz /usr/local/www
for file in *-$DATA.*
do
echo "$file" >> $DIR/current
done
echo "Backup Server $DATA" | mail -s "Backup Server $DATA" mail@domain.ru < $DIR/current
rm -f $DIR/current
find $DIR/* -mtime +7 -exec rm {} \;
ОГРОМНОЕ СПАСИБО!! а где тут указать папку на архивацию? PATH= - это?
и нужно бекапиьт базу не все а конкретную как указать?
прошу прощения конечно за такие тупые вопросы
Re: Резервное копирование файлов
Добавлено: 2014-07-05 19:15:21
Fllik
Вот что я сделал
Код: Выделить всё
#!/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin
SHELL=/bin/sh
DIR=/www/sites/imba.com.ua/backup/
DATA=`date '+%Y%m%d'`
cd $DIR
mysqldump -u root --password='pass' -l --all-databases | gzip > databases-$DATA.sql.gz
tar -czf imba-$DATA.tar.gz /www/sites/imba.com.ua/public_html
for file in *-$DATA.*
do
echo "$file" >> $DIR/current
done
echo "Backup Server $DATA" | mail -s "Backup Server $DATA" mail@mail.ru < $DIR/current
rm -f $DIR/current
find $DIR/* -mtime +7 -exec rm {} \;
запустил а оно мне вот что
sh backup.sh
: not found
: No such file or directorybackup/
: Cannot stat: No such file or directory
: not found
backup.sh: 12: Syntax error: word unexpected
Re: Резервное копирование файлов
Добавлено: 2014-07-06 12:15:57
ita
А создать предварительно /www/sites/imba.com.ua/backup/ ?
Re: Резервное копирование файлов
Добавлено: 2014-07-06 13:13:31
Fllik
ita писал(а):А создать предварительно /www/sites/imba.com.ua/backup/ ?
ну конечно всё создано
Re: Резервное копирование файлов
Добавлено: 2014-07-06 13:33:44
ita
где-то в твоих изменениях ошибка.. только что проверил - 100% работает.
только не sh script.sh
ну и
Код: Выделить всё
shell> mysqldump [options] --databases db_name1 [db_name2 db_name3...]
Re: Резервное копирование файлов
Добавлено: 2014-07-06 13:49:07
Fllik
ita писал(а):где-то в твоих изменениях ошибка.. только что проверил - 100% работает.
только не sh script.sh
ну и
Код: Выделить всё
shell> mysqldump [options] --databases db_name1 [db_name2 db_name3...]
./backup.sh
-su: ./backup.sh: /bin/sh^M: bad interpreter: No such file or directory
вот что мне выдало
freebsd 10
Re: Резервное копирование файлов
Добавлено: 2014-07-06 14:00:13
Fllik
Удаляем возврат каретки с использованием tr:
# cat your-script.sh | tr -d '\r' > corrected-your-script.sh
вот такое сделал и заработало - тестирую
Re: Резервное копирование файлов
Добавлено: 2014-07-06 14:08:20
Fllik
Только при запуске вот что пишет
tar: Removing leading '/' from member names
чот это такое чот скажет?
Re: Резервное копирование файлов
Добавлено: 2014-07-06 14:10:14
ita
Не обращай внимание, удаление первого слеша из имен.. чтот такое.
Re: Резервное копирование файлов
Добавлено: 2014-07-06 14:18:15
Fllik
ita писал(а):Не обращай внимание, удаление первого слеша из имен.. чтот такое.
Запустил всё работает и сохраняет, у меня вопрос это он будет делать 7 копий а через семь дней удалит их? или как происходят удаления?
Re: Резервное копирование файлов
Добавлено: 2014-07-06 20:54:42
wien
Будут удаляться только те которым уже более 7 дней:
Re: Резервное копирование файлов
Добавлено: 2014-07-07 9:19:53
snorlov
wien писал(а):Будут удаляться только те которым уже более 7 дней:
Только помнить надо, что эти 7 дней отсчитываются от полного времени запуска дд.мм.ггггг чч.мин.с, а не по дд.мм.гггг
Re: Резервное копирование файлов
Добавлено: 2014-07-07 11:20:35
Fllik
А вот ещё так понял на фотках есть русские символы и мы выдаёт вот что
tar: www/sites/site.com.ua/public_html/uploads/temp/hyu_?2500-255S_1.jpg: Can't translate pathname 'www/sites/site.com.ua/public_html/uploads/temp/hyu_?2500-255S_1.jpg' to UTF-8
как избежать такого сообщения кто то знает?
Re: Резервное копирование файлов
Добавлено: 2014-12-16 9:06:43
Fllik
а для того чтобы на почту ничего не отправляло нужно удалить вот это?
Код: Выделить всё
for file in *-$DATA.*
do
echo "$file" >> $DIR/current
done
echo "Backup Server $DATA" | mail -s "Backup Server $DATA" mail@mail.ru < $DIR/current
rm -f $DIR/current
а то 64 письма отправляет зараза ...

Re: Резервное копирование файлов
Добавлено: 2014-12-16 18:06:51
FiL
Во-первых, за 5 месяцев уже можно было-бы и подучить шелл-скриптинг, чтоб не задавать такие вопросы.
а во-вторых, почему 64 письма шлет? Вроде как только одно должно...
Re: Резервное копирование файлов
Добавлено: 2014-12-17 13:21:25
Fllik
FiL писал(а):Во-первых, за 5 месяцев уже можно было-бы и подучить шелл-скриптинг, чтоб не задавать такие вопросы.
а во-вторых, почему 64 письма шлет? Вроде как только одно должно...
вот и я о том же. должно одно слать...
вот и хочу чтобы уж лучше вообще ничего не слало.!