1

Ув. гуру. Помогите начинающему юзверю создать рабочее задание для крона. Перечитал кучу манов но видать виндовской опыт подводит - не могу понять в чем лажа. Создаю текстовый файлик с содержанием

1,6,11,16,21,26,31,36,41,46,51,56 * * * * root vnstat --dumpdb -i ppp0 > /var/www/vnstat/dumps/vnstat_dump_ppp0

кладу его в папку /etc/cron.d в итоге в сислоге появляется запись

Feb 23 10:26:01 serv1 /USR/SBIN/CRON[8510]: (root) CMD (vnstat --dumpdb -i ppp0 > /var/www/vnstat/dumps/vnstat_dump_ppp0)

но результата этой команды нет - дамп базы не обновляется.
если в консоли набрать

vnstat --dumpdb -i ppp0 > /var/www/vnstat/dumps/vnstat_dump_ppp0

то все работает. Помогите разобраться

2

Попробуй перед это строкой:
1,6,11,16,21,26,31,36,41,46,51,56 * * * * root vnstat --dumpdb -i ppp0 > /var/www/vnstat/dumps/vnstat_dump_ppp0
добавить
HOME="/root"

3 (23.02.2010 13:32:41 отредактировано lark)

добавил HOME="/root" - не помогло
писал абсолютный путь /usr/bin/vnstat  вместо vnstat  - не помогло
права на файлы дампа - всем все можно
прям ужо не знаю  :/

мож так нужно?
1,6,11,16,21,26,31,36,41,46,51,56 * * * * root if [ -x /usr/bin/vnstat ] && [ `ls /var/lib/vnstat/ | wc -l` -ge 1 ]; then /usr/bin/vnstat --dumpdb -i ppp0 > /var/www/vnstat/dumps/vnstat_dump_ppp0; fi

4

Давайте глянем что в логах (/var/log/syslog) ?

Средства у нас есть. У нас ума не хватает. (c)

5

конструкция выше тоже не работает  ac

6

покажите
tail /var/log/cron

Линукссаксовец
Троллей нет. Они плод фантазий. Есть только участники с индивидуальными психологическими портретами. (с) Loky
Первый Вице-Король

7

Feb 23 12:30:01 serv1 /USR/SBIN/CRON[10981]: (root) CMD (if [ -x /usr/bin/vnstat ] && [ `ls /var/lib/vnstat/ | wc -l` -ge 1 ]; then /usr/bin/vnstat -u; $
Feb 23 12:31:01 serv1 /usr/sbin/cron[7258]: (*system*dump_ppp0) RELOAD (/etc/cron.d/dump_ppp0)
Feb 23 12:31:01 serv1 /USR/SBIN/CRON[11000]: (root) CMD (if [ -x /usr/bin/vnstat ] && [ `ls /var/lib/vnstat/ | wc -l` -ge 1 ]; then /usr/bin/vnstat --du$


вот это в сислоге после выполнения последнего варианта. в первом посте ест строка из лога по результатам первого варианта

8

Может имеет смысл в crontab рутовый просто добавить, если от рута запускается?

9 (23.02.2010 14:19:44 отредактировано )

покажите
tail /var/log/cron
при вводе этой команды пишет нет такого файла

у меня нет отдельного лога крона.  я так понимаю настроено писать в сислог. система Debian lenny

Hrafn пишет:

Может имеет смысл в crontab рутовый просто добавить, если от рута запускается?

я сначала от пользователя всю эту лабуду добавлял в кронтаб - точно такой же результат. потом подумал проблема с правами - попробовал от рута. опять точно так же. последний вариант - попробовал добавить в /etc/cron.d как системное задание от рута - опять точно такая же история. в сислоге вродь видно что исполняется а результата нет. думаю проблема в синтаксисе, но что неправильно?



Господа гуру. Есть ли в линукс что-то типа виндовского командного сценария? как шелл команду

vnstat --dumpdb -i ppp0 > /var/www/vnstat/dumps/vnstat_dump_ppp0

превратить в файлик который можно исполнить? это к тому что если из сценария будет работать то из крона тоже пойдет.

или куда копать? никаких ошибок в логе после исполнения задания кроном нет, но дамп не обновляется

10

попробуйте прописать нужную команду в файл, добавьте первой строкой #!/bin/bash
а в кроне пропишите путь до файлика этого, только исполняемым его сделать не забудьте

11

lark пишет:

Господа гуру. Есть ли в линукс что-то типа виндовского командного сценария? как шелл команду

vnstat --dumpdb -i ppp0 > /var/www/vnstat/dumps/vnstat_dump_ppp0

превратить в файлик который можно исполнить? это к тому что если из сценария будет работать то из крона тоже пойдет.

Конечно можно. (Но вряд ли это поможет)

Создаем текстовый файлик. Например my_vnstat.sh (название и "расширение" может быть любым)
Пишем там:
#!/bin/bash
/usr/bin/vnstat --dumpdb -i ppp0 > /var/www/vnstat/dumps/vnstat_dump_ppp0

Сохраняем. Даем права на выполнение:
chmod u+x my_vnstat.sh
Все. Можно запускать:
./my_vnstat.sh

Линукссаксовец
Троллей нет. Они плод фантазий. Есть только участники с индивидуальными психологическими портретами. (с) Loky
Первый Вице-Король

12

Спасибо всем господа ab  Два дня ковырял а дел-то было неправильно прописан адрес к дампу ab  зато теперь прочитал маны по крону и баш скриптам ab бывает же такое. Всем спасибо.

ПС рабочий вариант

1,6,11,16,21,26,31,36,41,46,51,56 * * * * root vnstat --dumpdb -i ppp0 > /var/www/vnst/dumps/vnstat_dump_ppp0

13 (26.02.2010 09:20:52 отредактировано cx)

В продолжение вопроса...
Делаю дамп БД PostgreSQL 8.4 по cron вот такой командой:

$pgutils_dir/pg_dump -f $dump_file_name -Fc -v $base_name 

КАК перенаправить её вывод в мой файл dump.log?

14

cx пишет:

В продолжение вопроса...
Делаю дамп БД PostgreSQL 8.4 по cron вот такой командой:

$pgutils_dir/pg_dump -f $dump_file_name -Fc -v $base_name 

КАК перенаправить её вывод в мой файл dump.log?

Это не продолжение вопроса - тема совсем другая. Если хотите помощи, создайте новую тему с соответствующим названием.
Пункт 3 отсюда: http://rus-linux net/MyLDP/HOWTO-ru/Bas … html#toc14

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

15

MageWarrior пишет:

Это не продолжение вопроса - тема совсем другая. Если хотите помощи, создайте новую тему с соответствующим названием.
Пункт 3 отсюда: http://rus-linux net/MyLDP/HOWTO-ru/Bas … html#toc14

Создал тему:
http://linuxforum.ru/viewtopic.php?id=424

Ссылка не помогла.

Автор этой темы использовал cron и dumpdb - только по этому я и разместил здесь свой вопрос.