Резервное копирование файлов

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Fllik
рядовой
Сообщения: 17
Зарегистрирован: 2012-10-30 0:34:01

Резервное копирование файлов

Непрочитанное сообщение Fllik » 2014-07-05 11:01:07

Нужен скрипт для резервного копирования сайта в определённую папку с датой копирования.
он должен удалять бекапы допустим недельной давности

кто может что подсказать?
Последний раз редактировалось f_andrey 2014-07-05 12:40:56, всего редактировалось 1 раз.
Причина: не надо плодить однотипные темы в различных разделах.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

rayder
лейтенант
Сообщения: 661
Зарегистрирован: 2008-12-18 16:29:43
Откуда: Ukraine/Kiev
Контактная информация:

Re: Резервное копирование файлов

Непрочитанное сообщение rayder » 2014-07-05 12:27:02

Так напишите, в чем проблема?
Человеку свойственно ошибаться, но для нечеловеческих ляпов нужен компьютер.

Аватара пользователя
wien
сержант
Сообщения: 151
Зарегистрирован: 2014-06-26 18:38:44
Откуда: DafaultCity
Контактная информация:

Re: Резервное копирование файлов

Непрочитанное сообщение wien » 2014-07-05 15:29:36

Вот, пользуйтесь наздоровье. Пути только измените на ваши, пароль на 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 {} \;

Fllik
рядовой
Сообщения: 17
Зарегистрирован: 2012-10-30 0:34:01

Re: Резервное копирование файлов

Непрочитанное сообщение Fllik » 2014-07-05 18:43:33

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= - это?
и нужно бекапиьт базу не все а конкретную как указать?

прошу прощения конечно за такие тупые вопросы

Fllik
рядовой
Сообщения: 17
Зарегистрирован: 2012-10-30 0:34:01

Re: Резервное копирование файлов

Непрочитанное сообщение Fllik » 2014-07-05 19:15:21

Вот что я сделал

Код: Выделить всё


#!/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

ita
ефрейтор
Сообщения: 57
Зарегистрирован: 2006-08-30 12:35:52
Контактная информация:

Re: Резервное копирование файлов

Непрочитанное сообщение ita » 2014-07-06 12:15:57

А создать предварительно /www/sites/imba.com.ua/backup/ ?

Fllik
рядовой
Сообщения: 17
Зарегистрирован: 2012-10-30 0:34:01

Re: Резервное копирование файлов

Непрочитанное сообщение Fllik » 2014-07-06 13:13:31

ita писал(а):А создать предварительно /www/sites/imba.com.ua/backup/ ?
ну конечно всё создано

ita
ефрейтор
Сообщения: 57
Зарегистрирован: 2006-08-30 12:35:52
Контактная информация:

Re: Резервное копирование файлов

Непрочитанное сообщение ita » 2014-07-06 13:33:44

где-то в твоих изменениях ошибка.. только что проверил - 100% работает.
только не sh script.sh

Код: Выделить всё

# chmod +x bkpd.sh
# ./bkpd.sh
ну и

Код: Выделить всё

shell> mysqldump [options] --databases db_name1 [db_name2 db_name3...]

Fllik
рядовой
Сообщения: 17
Зарегистрирован: 2012-10-30 0:34:01

Re: Резервное копирование файлов

Непрочитанное сообщение Fllik » 2014-07-06 13:49:07

ita писал(а):где-то в твоих изменениях ошибка.. только что проверил - 100% работает.
только не sh script.sh

Код: Выделить всё

# chmod +x bkpd.sh
# ./bkpd.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

Fllik
рядовой
Сообщения: 17
Зарегистрирован: 2012-10-30 0:34:01

Re: Резервное копирование файлов

Непрочитанное сообщение Fllik » 2014-07-06 14:00:13

Удаляем возврат каретки с использованием tr:

# cat your-script.sh | tr -d '\r' > corrected-your-script.sh

вот такое сделал и заработало - тестирую

Fllik
рядовой
Сообщения: 17
Зарегистрирован: 2012-10-30 0:34:01

Re: Резервное копирование файлов

Непрочитанное сообщение Fllik » 2014-07-06 14:08:20

Только при запуске вот что пишет
tar: Removing leading '/' from member names

чот это такое чот скажет?

ita
ефрейтор
Сообщения: 57
Зарегистрирован: 2006-08-30 12:35:52
Контактная информация:

Re: Резервное копирование файлов

Непрочитанное сообщение ita » 2014-07-06 14:10:14

Не обращай внимание, удаление первого слеша из имен.. чтот такое.

Fllik
рядовой
Сообщения: 17
Зарегистрирован: 2012-10-30 0:34:01

Re: Резервное копирование файлов

Непрочитанное сообщение Fllik » 2014-07-06 14:18:15

ita писал(а):Не обращай внимание, удаление первого слеша из имен.. чтот такое.

Запустил всё работает и сохраняет, у меня вопрос это он будет делать 7 копий а через семь дней удалит их? или как происходят удаления?

Аватара пользователя
wien
сержант
Сообщения: 151
Зарегистрирован: 2014-06-26 18:38:44
Откуда: DafaultCity
Контактная информация:

Re: Резервное копирование файлов

Непрочитанное сообщение wien » 2014-07-06 20:54:42

Будут удаляться только те которым уже более 7 дней:

Код: Выделить всё

find $DIR/* -mtime +7 -exec rm {} \;

snorlov
подполковник
Сообщения: 3844
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Re: Резервное копирование файлов

Непрочитанное сообщение snorlov » 2014-07-07 9:19:53

wien писал(а):Будут удаляться только те которым уже более 7 дней:

Код: Выделить всё

find $DIR/* -mtime +7 -exec rm {} \;
Только помнить надо, что эти 7 дней отсчитываются от полного времени запуска дд.мм.ггггг чч.мин.с, а не по дд.мм.гггг

Fllik
рядовой
Сообщения: 17
Зарегистрирован: 2012-10-30 0:34:01

Re: Резервное копирование файлов

Непрочитанное сообщение Fllik » 2014-07-07 11:20:35

А вот ещё так понял на фотках есть русские символы и мы выдаёт вот что
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


как избежать такого сообщения кто то знает?

Fllik
рядовой
Сообщения: 17
Зарегистрирован: 2012-10-30 0:34:01

Re: Резервное копирование файлов

Непрочитанное сообщение Fllik » 2014-12-16 9:06:43

а для того чтобы на почту ничего не отправляло нужно удалить вот это?

Код: Выделить всё

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 письма отправляет зараза ... =)

FiL
ст. лейтенант
Сообщения: 1370
Зарегистрирован: 2010-02-05 0:21:40

Re: Резервное копирование файлов

Непрочитанное сообщение FiL » 2014-12-16 18:06:51

Во-первых, за 5 месяцев уже можно было-бы и подучить шелл-скриптинг, чтоб не задавать такие вопросы.
а во-вторых, почему 64 письма шлет? Вроде как только одно должно...

Fllik
рядовой
Сообщения: 17
Зарегистрирован: 2012-10-30 0:34:01

Re: Резервное копирование файлов

Непрочитанное сообщение Fllik » 2014-12-17 13:21:25

FiL писал(а):Во-первых, за 5 месяцев уже можно было-бы и подучить шелл-скриптинг, чтоб не задавать такие вопросы.
а во-вторых, почему 64 письма шлет? Вроде как только одно должно...
вот и я о том же. должно одно слать...
вот и хочу чтобы уж лучше вообще ничего не слало.!