Cron и FSArchiver

Автор olex984, 02 Июня 2011, 16:11

« предыдущая тема - следующая тема »

0 Пользователей и 1 Гость просматривают эту тему.

olex984

Ничего не могу понять, всегда пользовался кроном и все было в порядке щас же http://linuxforum.kz/public/style_emoticons/<#EMO_DIR#>/sad.gif\' class=\'bbc_emoticon\' alt=\':(\' /> а именно:
есть скрипт fs_backup.sh: #!/bin/bash
dd if=/dev/sda of=mbr.img bs=512 count=1
/usr/sbin/fsarchiver -voAa savefs -c Z12345z+-2608747 hdd.fsa --exclude=/var/spool/squid3 -e=/home -e=/usr --exclude=/media --exclude=/cdrom --exclude=/mnt --exclude=lost+found --exclude=.VirtualBox --exclude=/shara /dev/sda1 /dev/sda2 /dev/sda3
делаю ./fs_backup.sh все работает.
Прописываю в крон /etc/crontab
59 14 * * * root /home/bin/fs_backup.sh #время щас для проверки подставлял
начинает делать, dd проходит, далее создается фаил fsa и туда буквально (всегда по разному) 4.5KB-1.7MB ложится и все.
В кроне стоят скрипты другие, прекрасно выполняются, а этот ....
tail /var/log/syslog
Jun 2 15:09:01 Linux CRON[14907]: (root) CMD (/home/www/ifstat/script.sh)
Jun 2 15:10:01 Linux CRON[14932]: (root) CMD (/home/www/proxy/lightparser.pl)
Jun 2 15:10:01 Linux CRON[14935]: (root) CMD (/home/www/ifstat/script.sh)
Jun 2 15:10:01 Linux CRON[14934]: (root) CMD (if [ ! -d /var/lock/mrtg ]; then mkdir /var/lock/mrtg; fi; if [ -x /usr/bin/mrtg ] && [ -r /etc/mrtg.cfg ]; then env LANG=C /usr/bin/mrtg /etc/mrtg.cfg 2>&1 | tee -a /var/log/mrtg/mrtg.log ; fi )
Jun 2 15:11:01 Linux CRON[14985]: (root) CMD (/home/www/ifstat/script.sh)
Jun 2 15:12:01 Linux cron[1116]: (*system*) RELOAD (/etc/crontab)
Jun 2 15:12:01 Linux CRON[15006]: (root) CMD (/home/bin/fs_backup.sh) #ВОТ ОН СОБАКА
Jun 2 15:12:01 Linux CRON[15007]: (root) CMD (/home/www/ifstat/script.sh)
И снова ничего 12,6 К файл создал и все.

В чем может быть трабла не подскажите?

B@F

02 Июня 2011, 21:49 #1 Последнее редактирование: 02 Июня 2011, 21:51 от B@F
Попробуй сделать так

59 14 * * * root /home/bin/fs_backup.sh >> /home/home/backup.log 2>&1
Перенаправь выводы stdout и stderror в файл, после каждой операции добвь для теста echo шаг 1, 2, 3 и так далее и посмотри что будет в этом файле.

И возможно dd тоже полностью прописать.
Поправьте, если я ошибаюсь, буду тока рад.

olex984

03 Июня 2011, 09:22 #2 Последнее редактирование: 03 Июня 2011, 09:23 от olex984
Цитата: B@F от 02 Июня 2011, 21:49Попробуй сделать так

59 14 * * * root /home/bin/fs_backup.sh >> /home/home/backup.log 2>&1
Перенаправь выводы stdout и stderror в файл, после каждой операции добвь для теста echo шаг 1, 2, 3 и так далее и посмотри что будет в этом файле.

И возможно dd тоже полностью прописать.
Блин, вот что значит одна голова хорошо, а ....
Почему я сразу вывод не направил в файл http://linuxforum.kz/public/style_emoticons/<#EMO_DIR#>/smile.gif\' class=\'bbc_emoticon\' alt=\':)\' />?!
Только вот это мне не знакомо 2>&1 , пояснишь ?
Кстати чудо, если в кроне написано 59 14 * * * root /home/bin/fs_backup.sh >> /home/home/backup.log 2>&1 #дату новую ставил щас, просто копипастил, то все работает, если убираю перенаправление в файл, как было раньше у меня , то снова такая же история 4.9К скопировал. Что за дела? http://linuxforum.kz/public/style_emoticons/<#EMO_DIR#>/smile.gif\' class=\'bbc_emoticon\' alt=\':)\' />

B@F

Цитата: olex984 от 03 Июня 2011, 09:22Блин, вот что значит одна голова хорошо, а ....
Почему я сразу вывод не направил в файл http://linuxforum.kz/public/style_emoticons/<#EMO_DIR#>/smile.gif\' class=\'bbc_emoticon\' alt=\':)\' />?!
Только вот это мне не знакомо 2>&1 , пояснишь ?

Перенаправление stderror в stdout а от туда уже ты знаешь куда   http://linuxforum.kz/public/style_emoticons/<#EMO_DIR#>/rolleyes.gif\' class=\'bbc_emoticon\' alt=\':rolleyes:\' />. Если тебе логи не нужны, а без этих строчек не пашет, то перенаправляй все в файл дырку /dev/null и не парься.
Поправьте, если я ошибаюсь, буду тока рад.

olex984

Цитата: B@F от 03 Июня 2011, 11:26Перенаправление stderror в stdout а от туда уже ты знаешь куда http://linuxforum.kz/public/style_emoticons/<#EMO_DIR#>/rolleyes.gif\' class=\'bbc_emoticon\' alt=\':rolleyes:\' />. Если тебе логи не нужны, а без этих строчек не пашет, то перенаправляй все в файл дырку /dev/null и не парься.
Да, понял. Вот еще вычитал, видимо по этому он у меня и не работает:
ЦитироватьЯ вот про другое слышал, что крону может не хватить памяти, когда в stdout из скрипта много данных выстреливается. Крон их по моему копит и буфер этот ограничен. Поэтому на конце команды обычно делают перенаправление в лог или в /dev/null. Например: backup_me.sh >/dev/null 2>&1
Так точно и буду делать.
P.S. есть повод и перенаправить вывод скрипта по созданию локального репа(делаю при помощи deb-repack). Там же тоже вывод огромный http://linuxforum.kz/public/style_emoticons/<#EMO_DIR#>/smile.gif\' class=\'bbc_emoticon\' alt=\':)\' />