@Ozymandis
зелень

Не выполняется задача в cron?

Не могу понять как заставить работать cron для выолнения архивации файлов и бэкапа базы mysql

перепробовал различные варианты

1. Сделал скрипт такого типа
spoiler
#!/bin/bash

echo $(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.sh

2. Писал команду напрямую в файлах сначала в /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
spoiler
#!/bin/bash

echo $(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/crontab
18 9 * * * root run-parts /etc/cron.daily

ничего из этого не помогло
  • Вопрос задан
  • 959 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Ozymandis Автор вопроса
зелень
База забэкапилась как надо, но при файловом бэкапе сайта, его архив получается весом 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
Ответ написан
@ashumkin
системный разработчик
в скриптах, запускаемых из cron'а, лучше указывать полный путь к используемым утилитам
либо устанавливать нужный PATH в crontab-файле (либо уж в самом скрипте)
потому как PATH при запуске из cron'а весьма "урезан" (можете проверить выполнив в cronecho $PATH > /home/.../path.log)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы