Как часто и как делать бэкап базы в cron

Статус
В этой теме нельзя размещать новые ответы.

itpeople

Гуру форума
Регистрация
6 Дек 2007
Сообщения
545
Реакции
64
Есть сайт на wp + vbulletin + еще один скрипт
Как часто нужно делать бэкап базы? (всего 3 базы)

Как правильно прописать в кроне команду для создания бэкапа?
 
PHP:
0 23 * * * mysqldump -hHost -uUser -pPassword Database > /home/user/Backup/Database.sql
Например это раз в сутки в 23.00
Думаю, имеет смысл делать бэкап во время самой маленькой посещаемости и нагрузки на сервер, при большом количестве информации чаще, чтобы в случае чего восстановить бОльшую часть.
Вот два раза в сутки, в 12.00 и 24.00
PHP:
0 */12 * * * mysqldump -hHost -uUser -pPassword Database > /home/user/Backup/Database.sql
Это раз в двое суток в 00.00
PHP:
0 0 */2 * * mysqldump -hHost -uUser -pPassword Database > /home/user/Backup/Database.sql
 
работает, но есть попутных два вопроса:
1. можно ли сразу и архивировать базу?
2. бэкап создается с одним и тем же именем, что неудобно - как-то можно под разными именами это делать?
 
написать скрипт, который будет генерировать имя для файла и создавать дамп.
после сам скрипт повесить на крон
Код:
#!/bin/sh
mysqldump -hHost -uUser -pPassword Database > /home/user/Backup/Database$(date +%y.%m.%d.%H.%M).sql
exit
или попробовать повесить на крон только саму команду в том виде, что написал я
 
А архивировать по идее можно так:

#!/bin/sh
dump_name=Database$(date +%y.%m.%d.%H.%M).sql
mysqldump -hHost -uUser -pPassword Database > /home/user/Backup/$dump_name
tar -cvf /home/user/Backup/$dump_name /home/user/Backup/$dump_name.tar
gzip /home/user/Backup/$dump_name.tar
rm $dump_name
exit
 
В идеалии чем больше тем лучше. Но если хостинг устойчивый то хватает 1 раз в день. В случае ЧП теряешь только данные за день
 


Вот такой скрипт запускаешь по крону и он делает бэкап базы и файлов в архив, скрипт хорошо комментирован, думаю объяснять что к чему ненадо
 
#!/bin/sh
dump_name=Database$(date +%y.%m.%d.%H.%M).sql
mysqldump -hHost -uUser -pPassword Database > /home/user/Backup/$dump_name
tar -cvf /home/user/Backup/$dump_name /home/user/Backup/$dump_name.tar
gzip /home/user/Backup/$dump_name.tar
rm $dump_name
exit
оптимально
 
написать скрипт, который будет генерировать имя для файла и создавать дамп.
после сам скрипт повесить на крон
Код:
#!/bin/sh
mysqldump -hHost -uUser -pPassword Database > /home/user/Backup/Database$(date +%y.%m.%d.%H.%M).sql
exit
или попробовать повесить на крон только саму команду в том виде, что написал я
позволю себе внести небольшое дополнение в виде архивирования:
Код:
#!/bin/sh
mysqldump -hHost -uUser -pPassword Database | gzip > /home/user/Backup/Database$(date +%y.%m.%d.%H.%M).sql.gz
exit
желательно, при добавлении в крон еще перенаправлять вывод ошибок в отдельный лог на всякий пожарный, если это делать нет необходимости, то и создавать скрипт отдельный с одной строкой не очень нужно :)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху