Всем Привет!
Возможно моя проблема покажется тривиальной, и ее решение дается легко, но я так и не разобрался, решил что написать на этот замечательный форум.Не могу понять как заставить работать cron для выолнения архивации файлов и бэкапа базы mysql (CentOS 6.7)
перепробовал различные варианты
1. Сделал скрипт такого типа
#!/bin/bashecho $(date +%y%m%d)
cd /home/bitrix/ext_www/
echo "Add site web-site.ru to archive ...Start"
tar -czpf web-site_newsite.tar.gz ./web-site.ru
echo "Add site to archive ...Done!"echo "Move archive to backup directory"
mv web-site_newsite.tar.gz /home/backup/web-site-$(date +%y%m%d).tar.gz
echo "Move archive to backup directory ...Done!"cd /home/backup/
echo "Make backup database newshop"
mysqldump --single-transaction -u root dbweb-site > dbweb-site-$(date +%y%m%d).sql
echo "Make backup database newshop ...Done!"cd /backup
find . -mtime +20 -exec rm {} \;
сделал его исполняемым:chmod +x /home/script-web.shв файле /var/spool/cron/root
добавил18 9 * * * /home/script-web.sh
потом пробовал18 9 * * * root /home/script-web.sh
так18 9 * * * bash /bin/bash /home/script-web.sh2. Писал команду напрямую в файле /etc/crontab и потом также в /var/spool/cron/root
23 9 * * * tar -czf /home/backup/backup_newsite.tar-$(date +%y%m%d).gz /home/bitrix/ext_www/web-site.ru > /dev/null 2>&1
3. Создал файл в /etc/cron.daily
#!/bin/bashecho $(date +%y%m%d)
cd /home/bitrix/ext_www/
echo "Add site web-site.ru to archive ...Start"
tar -czpf web-site_newsite.tar.gz ./web-site.ru
echo "Add site to archive ...Done!"echo "Move archive to backup directory"
mv web-site_newsite.tar.gz /home/backup/web-site-$(date +%y%m%d).tar.gz
echo "Move archive to backup directory ...Done!"cd /home/backup/
echo "Make backup database newshop"
mysqldump --single-transaction -u root dbweb-site > dbweb-site-$(date +%y%m%d).sql
echo "Make backup database newshop ...Done!"cd /backup
find . -mtime +20 -exec rm {} \;
прописал в файле /etc/crontab18 9 * * * root run-parts /etc/cron.dailyничего из этого не помогло
так может у вас сам cron не запущен?
>[оверквотинг удален]
> echo "Add site to archive ...Done!"
> echo "Move archive to backup directory"
> mv web-site_newsite.tar.gz /home/backup/web-site-$(date +%y%m%d).tar.gz
> echo "Move archive to backup directory ...Done!"
> cd /home/backup/
> echo "Make backup database newshop"
> mysqldump --single-transaction -u root dbweb-site > dbweb-site-$(date +%y%m%d).sql
> echo "Make backup database newshop ...Done!"
> cd /backup
> find . -mtime +20 -exec rm {} \;убедиться что crond работает и прописать полный путь к командам, не являющимся
командами SHELL'а:
/path/tar
/path/mysqldump
/path/find
...
или задать переменную PATHНу и не забывать про перенаправление stdout/stderr в лог-файл
>[оверквотинг удален]
>> echo "Make backup database newshop ...Done!"
>> cd /backup
>> find . -mtime +20 -exec rm {} \;
> убедиться что crond работает и прописать полный путь к командам, не являющимся
> командами SHELL'а:
> /path/tar
> /path/mysqldump
> /path/find
> ...
> или задать переменную PATHМожно еще прописать переменную MAILTO=my@email
Тогда логи будут сыпаться на почту.
> Ну и не забывать про перенаправление stdout/stderr в лог-файл
> 3. Создал файл в /etc/cron.daily
> #!/bin/bash
> echo $(date +%y%m%d)
> cd /home/bitrix/ext_www/
> echo "Add site web-site.ru to archive ...Start"
> прописал в файле /etc/crontab
>18 9 * * * root run-parts /etc/cron.daily
> ничего из этого не помоглоМожет дело в этом:
http://www.opennet.me/man.shtml?category=5&topic=crontab"Хотя по сути является обыкновенным текстовым файлом, он не должен редактироваться обычными средствами. Для создания, изменения и удаления следует использоваться специальную утилиту, crontab(1)."
>[оверквотинг удален]
>> cd /home/bitrix/ext_www/
>> echo "Add site web-site.ru to archive ...Start"
>> прописал в файле /etc/crontab
>>18 9 * * * root run-parts /etc/cron.daily
>> ничего из этого не помогло
> Может дело в этом:
> https://www.opennet.me/man.shtml?category=5&topic=crontab
> "Хотя по сути является обыкновенным текстовым файлом, он не должен редактироваться обычными
> средствами. Для создания, изменения и удаления следует использоваться специальную утилиту,
> crontab(1)."
База забэкапилась как надо, но при файловом бэкапе сайта, его архив получается весом 1кбexport PATH=/bin:/sbin:/usr/bin:/usr/sbin:/home/root/bin
tar -czpf /home/backup/web-site-$(date +%y%m%d).tar.gz /home/bitrix/ext_www/web-site.ru/
cd /home/backup/
mysqldump --single-transaction -u root dbweb-site > /home/backup/dbweb-site-$(date +%y%m%d).sql
>ничего из этого не помоглоНе помогло ЧЕМУ??
Ошибка то как выглядит?Ладно...попробуем на удачу:
файл кронтаба должен заканчиваться новой пустой строкой
поле редактирования конфига кронтаба нужно рестартануть кронтаб
>[оверквотинг удален]
> cd /home/backup/
> echo "Make backup database newshop"
> mysqldump --single-transaction -u root dbweb-site > dbweb-site-$(date +%y%m%d).sql
> echo "Make backup database newshop ...Done!"
> cd /backup
> find . -mtime +20 -exec rm {} \;
>
18 9 * * * root run-parts /etc/cron.daily
В файле /var/spool/cron/root обычно пишут:
# DO NOT EDIT THIS FILE - edit the master and reinstall.
Крон обрабатывает папки:
/etc/rcon.d
/etc/cron.daily и т.п.
файлы д.б. исполняемые
Ну и crontab -e
>[оверквотинг удален]
>> прописал в файле /etc/crontab
>>18 9 * * * root run-parts /etc/cron.daily
>> ничего из этого не помогло
> В файле /var/spool/cron/root обычно пишут:
> # DO NOT EDIT THIS FILE - edit the master and reinstall.
> Крон обрабатывает папки:
> /etc/rcon.d
> /etc/cron.daily и т.п.
> файлы д.б. исполняемые
> Ну и crontab -eБаза забэкапилась как надо, но при файловом бэкапе сайта, его архив получается весом 1кб
export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/home/root/bintar -czpf /home/backup/web-site-$(date +%y%m%d).tar.gz /home/bitrix/ext_www/web-site.ru/
cd /home/backup/
mysqldump --single-transaction -u root dbweb-site > /home/backup/dbweb-site-$(date +%y%m%d).sql
У вас имя скрипта содержит точку, обычно крон не игнорирует такие файлы.
>[оверквотинг удален]
>
> сделал его исполняемым:
>chmod +x /home/script-web.sh
> в файле /var/spool/cron/root
> добавил
>18 9 * * * /home/script-web.sh
> потом пробовал
>18 9 * * * root /home/script-web.sh
> так
>18 9 * * * bash /bin/bash /home/script-web.sh