Задать вопрос
Indermove
@Indermove
C#/.NET back-end разработчик

Почему не запускается cron скрипт?

Помогите неопытному. Операционная система CentOS 6.3. Пытаюсь настроить бэкап папки и базы данных через rsync. Скрипты через консоль запускаются нормально, все работает, крон ошибок при сохранении не выдает, просто пишет "installing new crontab". Если я все правильно понимаю, то вроде все правильно. Но почему-то ничего не работает. Права на папку где лежат скрипты 777.

Сами скрипты:
Первый
#!/bin/bash

cd /mnt/backup/neon_backup/MySQL_backup
mysqldump -u root -pnppwd --all-databases > mysql_backup.sql
tar cvjf back_mysql.tar.bz2 mysql_backup.sql


Второй
#!/bin/bash
sudo rsync --archive /home/share --delete /mnt/backup/neon_backup
sudo rsync --archive /var/www/html/vtgr --delete /mnt/backup/neon_backup


Третий
#!/bin/bash
sudo rsync --archive /var/www/html/vtgr --delete /mnt/backup/neon_backup/vtgr_weekly
cd /mnt/backup/neon_backup/vtgr_weekly/MySQL_weekly
mysqldump -u root -pnppwd --all-databases > mysql_backup.sql
tar cvjf back_mysql.tar.bz2 mysql_backup.sql


Текст crontab
0 1 * * * /bin/bash /usr/share/script.sh
0 2 * * * /bin/bash /usr/share/script2.sh
* * * * 1 /bin/bash /usr/share/script3.sh
30 4 * * * /var/www/vtgr/script/updateControlWorker.php
30 4 * * * /var/www/vtgr/script/createTack.php


Я уже по всякому попробовал и /bin/bash в crontab убирал, поскольку как я прочитал, если в начале скрипта стоит #!/bin/bash , то это не нужно.
  • Вопрос задан
  • 58197 просмотров
Подписаться 6 Простой 1 комментарий
Ответ пользователя jcmvbkbc К ответам на вопрос (7)
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
1. /bin/bash в crontab не нужен. Выкиньте его и сделайте скрипты исполняемыми.
2. приложения из cron запускаются с минимальным environment, если mysqldump не лежит в /bin или /usr/bin, script.sh его не найдёт. Добавьте в скрипт set > /tmp/script-environment чтобы посмотреть, с чем они запускаются.
3. sudo -- нужен nopasswd
Ответ написан