Как заставить работать через crontab

[Удален]
728

Написал свой сценарий для создания бекапа БД, переименования прошлого бекапа и удаления самого старого:

rm /home/login/backup/database.sql.gz.2

mv -f /home/login/backup/database.sql.gz /home/login/backup/database.sql.gz.2
mysqldump -u root -h localhost -S /home/login/run/mysql.sock database | gzip -c > /home/login/backup/database.sql.gz

Скрипт в файле /home/login/sqldump; по ssh вручную запускается и работает корректно.

По крону давно работает провайдерский скрипт ротации логов.

Если пишу в кронтабе

50 2 * * 5 /usr/bin/apache_log_rotate

55 3 * * * /home/login/sqldump
сценарий не срабатывает.

Если меняю строки местами

55 3 * * * /home/login/sqldump

50 2 * * 5 /usr/bin/apache_log_rotate
сценарий работает по расписанию, но не запускается провайдерский apache_log_rotate

Написал в техподдержку, они не ответили, но отредактировали мне кронтаб:

50 2 * * 5 /usr/bin/apache_log_rotate

55 3 * * * /home/rbfnan/sqldump >/dev/null 2>&1

Пару дней все работало.

Потом я решил изменить время работы sqldump, и вновь мой сценарий перестал запускаться.

Вернул на место файл, отредактированный техподдержкой, но сценарий так и не запускается. В логах кронтаба сообщений об ошибках нет:

2008-11-27 17:24:01 Reloading conf/crontab


2008-12-02 03:14:01 Reloading conf/crontab

2008-12-03 14:14:01 Reloading conf/crontab

2008-12-04 02:50:01 Starting: 2384 /usr/bin/apache_log_rotate
2008-12-04 02:50:04 2383 child process done, exiting

2008-12-04 03:04:17 z_crond stopped.
2008-12-04 03:05:01 z_crond started.
2008-12-07 00:54:01 Reloading conf/crontab

Хотелось бы ссылку, где почитать, чтобы самому настроить, или тыканье носом где я накосячил. За последние 2 недели прочитал уйму информации о настройке кронтаба, но ничего похожего на мою проблему не встречал.

Dreammaker
На сайте с 20.04.2006
Offline
569
#1

Попробуйте в конце файла 2 раза ентер нажать и после этого сохранить.

update: и это

crontab cronfile.txt

делаете?

Надеюсь сонный ничего лишнего не насоветовал :)

defuzz
На сайте с 16.09.2007
Offline
19
#2

А в скрипте кто mysqldump вводит рутовый пароль? Или там без пароля? Думаю, что скрипт запускается и ждет, пока ему кто-нибудь пароль введет.

И так же mysqldump допишите полный путь. Он может тупо не находиться.

Мои "Кавычки" (http://www.kavichki.ru) - записки спящего сисадмина
litos0
На сайте с 17.07.2008
Offline
122
#3

Подобные ошибки кстати по почте от cron должны приходить если в /dev/null не направлять, что не находится файлы, например.

R
На сайте с 20.09.2008
Offline
4
#4

mysqldump -u root -h localhost -S /home/login/run/mysql.sock database | gzip -c > /home/login/backup/database.sql.gz

на

mysqldump -u root -pпароль -h localhost -S /home/login/run/mysql.sock database | gzip -c -9(максимально жмём) > /home/login/backup/database.sql.gz

Сетeвед, - Ваш путеводитель в мире ИТ. (http://www.seteved.ru)
M
На сайте с 19.09.2007
Offline
112
#5
rawsik:
mysqldump -u root -h localhost -S /home/login/run/mysql.sock database | gzip -c > /home/login/backup/database.sql.gz

на

mysqldump -u root -pпароль -h localhost -S /home/login/run/mysql.sock database | gzip -c -9(максимально жмём) > /home/login/backup/database.sql.gz

-h localhost -S /home/login/run/mysql.sock зачем одновременно хост и сокет? (но это не ошибка это к слову)

жать бэкапы я бы не рекомендовал, по крайней мере последние. жмите их "завтра"

и ... правильнее сначала сделать бэкап новый, а потом тереть старый.

в почте для юзера крон должен быть "отчет" что он сделал и результаты работы скрипта.

да, и как правильно заметили выше - очень может быть, что мускуль ждет пароль

RAS
На сайте с 27.11.2005
Offline
126
RAS
#6

а по логам крона, оба скрипта вызываются кроном ?

Администрируем сервера, впс, вдс. Ускоряем загрузку сайтов - DLE, Word Press, Joomla, Modx... Настраиваем безопасность. Ручная чистка rootkit/malware/вирусов. (/ru/forum/867860) Разработка - shell/bash/sh/python/perl.
[Удален]
#7
Dreammaker:
Попробуйте в конце файла 2 раза ентер нажать и после этого сохранить.

Спасибо громадное!

Это именно то, что нужно.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий