Проблемы с crontab

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Anti[B]iotik
проходил мимо
Сообщения: 9
Зарегистрирован: 2010-06-27 12:07:28
Откуда: Хмельницкий /home/antibiotik/
Контактная информация:

Проблемы с crontab

Непрочитанное сообщение Anti[B]iotik » 2010-06-27 12:38:18

Здравствуйте. Возникла проблема, я хочу, чтобы сервер FreeBSD после перезагрузки выдавал звуковой сигнал. Для этого создал файл /usr/local/etc/rc.d/starts:

Код: Выделить всё

#!/usr/bin/perl
open(SPEAKER, ">/dev/speaker") or die $!;
   for ($n=0; $n<=$count; $n++) {
       print SPEAKER "P 1 F P 1 F P 1 F ";
   }
close SPEAKER;
Если файлик запустить - звуковой сигнал есть, то есть ошибки нету.
Теперь задача запустить этот файл при загрузке. Юзаю кронтаб /etc/crontab:

Код: Выделить всё

# /etc/crontab - root's crontab for FreeBSD
#
# $FreeBSD: src/etc/crontab,v 1.32.34.1 2009/04/15 03:14:26 kensmith Exp $
#
SHELL=/bin/bash
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
MAILTO=""
HOME=/
#
#minute hour    mday    month   wday    who     command
#
*/5     *       *       *       *       root    /usr/libexec/atrun
#
# Save some entropy so that /dev/random can re-seed on boot.
*/11    *       *       *       *       operator /usr/libexec/save-entropy
#
# Rotate log files every hour, if necessary.

0       *       *       *       *       root    newsyslog
#
# Perform daily/weekly/monthly maintenance.
1       3       *       *       *       root    periodic daily
15      4       *       *       6       root    periodic weekly
30      5       1       *       *       root    periodic monthly
#
# Adjust the time zone if the CMOS clock keeps local time, as opposed to
# UTC time.  See adjkerntz(8) for details.
1,31    0-5     *       *       *       root    adjkerntz -a
@daily  1       *       *       *       root    /usr/sbin/ntpdate ntp.xc
@reboot 0       *       *       *       root    /usr/local/etc/rc.d/starts
 
Но ничего не срабатывает. Решил проверить корректно ли вообще работает cron и добавил в конце строку:

Код: Выделить всё

*/10    *       *       *       *       root    echo 'ya tut' >> /var/log/ping.log
То есть жду, что каждые 10 минут будет добавляться строка в файл ping.log, но он по-прежнему пустой
Службу перезапускал:

Код: Выделить всё

#sudo /etc/rc.d/cron restart
Stopping cron.
Starting cron.

Код: Выделить всё

sudo /etc/rc.d/cron status
cron is running as pid 21444.
Последнюю пустую строку в конце добавляю.
Подскажите, пжл, что может быть не так.
Заранее спасибо.
Последний раз редактировалось f_andrey 2010-06-27 15:33:56, всего редактировалось 1 раз.
Причина: Автору, выбирайте пожалуйста раздел соответствуюший тематике вашего сообщения.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Raven2000
-=_UNIX_=-
Сообщения: 4425
Зарегистрирован: 2006-10-29 17:59:13
Откуда: Там, где нас нет.
Контактная информация:

Re: Проблемы с crontab

Непрочитанное сообщение Raven2000 » 2010-06-27 19:15:49

Зачем вам пипканье при рестарте?
Чисто практически зачем? =)
Если хочешь разобраться... Так иди и разбирайся!
[ igNix.ru | Технология жизни - технологии будущего ] [ Forum.igNix.ru ]

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Проблемы с crontab

Непрочитанное сообщение terminus » 2010-06-27 19:39:06

Код: Выделить всё

    Instead of the first five fields, one of eight special strings may
     appear:

           string          meaning
           ------          -------
           @reboot         Run once, at startup.
           @yearly         Run once a year, "0 0 1 1 *".
           @annually       (same as @yearly)
           @monthly        Run once a month, "0 0 1 * *".
           @weekly         Run once a week, "0 0 * * 0".
           @daily          Run once a day, "0 0 * * *".
           @midnight       (same as @daily)
           @hourly         Run once an hour, "0 * * * *".

Код: Выделить всё

@reboot   root    /usr/local/etc/rc.d/starts
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35198
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Проблемы с crontab

Непрочитанное сообщение Alex Keda » 2010-06-27 22:50:32

и никто так и не сказал человеку что похабить системный крон под свои нужды - это плохо...
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Anti[B]iotik
проходил мимо
Сообщения: 9
Зарегистрирован: 2010-06-27 12:07:28
Откуда: Хмельницкий /home/antibiotik/
Контактная информация:

Re: Проблемы с crontab

Непрочитанное сообщение Anti[B]iotik » 2010-06-27 23:44:35

Alex Keda писал(а):и никто так и не сказал человеку что похабить системный крон под свои нужды - это плохо...
добавив одну строку я не испохаблю системное предназначение крона. Мне подсказали, что лучше цель достичь именно с его помощью. При чем "свои нужды" в данном случае - это не в туалет сходить, а обеспечить стабильную работу сервера. Если я его перезагружаю - то звуковой сигнал - признак удачной загрузки, не стоит меня спрашивать, т.к. иначе бы не писал. Как вариант когда-то добавлял строку в /etc/rc.conf, но звук воспроизводился при подключении каждой служби, то есть во время загрузки раз 10 + каждый раз при подключении VPN и тд. Нужно только 1 раз после загрузки. Пока подправил, как подсказал terminus. Но что-то подозреваю, что что-то не так... пока спс

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35198
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Проблемы с crontab

Непрочитанное сообщение Alex Keda » 2010-06-28 6:20:08

Код: Выделить всё

man 5 crontab
вам неправильно подсказали
Убей их всех! Бог потом рассортирует...

PSdok
ст. сержант
Сообщения: 359
Зарегистрирован: 2006-10-05 18:27:56
Откуда: Нижний НОвгород

Re: Проблемы с crontab

Непрочитанное сообщение PSdok » 2010-06-30 7:06:13


Аватара пользователя
maza
проходил мимо
Сообщения: 4
Зарегистрирован: 2010-06-23 16:24:24
Откуда: Киев
Контактная информация:

Re: Проблемы с crontab

Непрочитанное сообщение maza » 2010-07-04 14:22:10

у меня похожая проблема была.
хотел поставить запуск скрипта каждые 5 минут, но он ни в какую не хотел запускаться.
проблему решил следующим образом:
1)

Код: Выделить всё

cp /etc/crontab /var/cron/tabs/"тут пишем желаемое название"
2) правим файл /var/cron/tabs/"тут пишем желаемое название". удаляем все значения кроме:

Код: Выделить всё

SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin

#minute     hour    mday    month    wday    who    command
#
*/5           *        *          *          *                   здесь пишем месторасположение того, что вы хотите запустить
причем место под who оставляем пустым!!!
3)запускаем crontab:

Код: Выделить всё

crontab /var/cron/tabs/"тут пишем желаемое название"
crontab -l
причем это обязательный формат запуска
4)для остановки:

Код: Выделить всё

crontab -r
5)осталось только доделать автозапуск при старте/перезагрузке системы

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35198
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Проблемы с crontab

Непрочитанное сообщение Alex Keda » 2010-07-04 15:08:21

изврат...
Убей их всех! Бог потом рассортирует...

Аватара пользователя
maza
проходил мимо
Сообщения: 4
Зарегистрирован: 2010-06-23 16:24:24
Откуда: Киев
Контактная информация:

Re: Проблемы с crontab

Непрочитанное сообщение maza » 2010-07-04 15:19:11

зато работает
ИМХО

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Проблемы с crontab

Непрочитанное сообщение zg » 2010-07-04 16:14:36

Anti[b]iotik писал(а):Если файлик запустить - звуковой сигнал есть, то есть ошибки нету.
с учётом того, что в скрипте $count не задан, то пикает, видимо, только один раз. Этого же результата при загрузке можно добиться, если поместить в /etc/rc.local

Код: Выделить всё

echo -n "P 1 F P 1 F P 1 F ">/dev/speaker
попробуй выполнить и перегрузиться

Код: Выделить всё

echo 'echo -n "P 1 F P 1 F P 1 F ">/dev/speaker' >> /etc/rc.local

Аватара пользователя
Anti[B]iotik
проходил мимо
Сообщения: 9
Зарегистрирован: 2010-06-27 12:07:28
Откуда: Хмельницкий /home/antibiotik/
Контактная информация:

Re: Проблемы с crontab

Непрочитанное сообщение Anti[B]iotik » 2010-07-10 0:23:25

tormozok писал(а):может это поможет
http://forum.lissyara.su/viewtopic.php?f=14&t=15960
maza писал(а):у меня похожая проблема была.
хотел поставить запуск скрипта каждые 5 минут, но он ни в какую не хотел запускаться.
проблему решил следующим образом:
1)

Код: Выделить всё

cp /etc/crontab /var/cron/tabs/"тут пишем желаемое название"
2) правим файл /var/cron/tabs/"тут пишем желаемое название". удаляем все значения кроме:

Код: Выделить всё

SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin

#minute     hour    mday    month    wday    who    command
#
*/5           *        *          *          *                   здесь пишем месторасположение того, что вы хотите запустить
причем место под who оставляем пустым!!!
3)запускаем crontab:

Код: Выделить всё

crontab /var/cron/tabs/"тут пишем желаемое название"
crontab -l
причем это обязательный формат запуска
4)для остановки:

Код: Выделить всё

crontab -r
5)осталось только доделать автозапуск при старте/перезагрузке системы
Ребята, спасибо огромное, оба ваших поста оооочень сильно помогли. Респект!
Единственно проблема с запуском команд, которые идут только через sudo, то есть нужны права root, вот разбираюсь, а так цель основная достигнута, благодарю !

Аватара пользователя
Anti[B]iotik
проходил мимо
Сообщения: 9
Зарегистрирован: 2010-06-27 12:07:28
Откуда: Хмельницкий /home/antibiotik/
Контактная информация:

Re: Проблемы с crontab

Непрочитанное сообщение Anti[B]iotik » 2010-12-19 19:48:05

Проблема оказалась в том, что система была prerelease. Потом пересобрал в: FreeBSD 7.3-STABLE - все отлично работает

Аватара пользователя
maza
проходил мимо
Сообщения: 4
Зарегистрирован: 2010-06-23 16:24:24
Откуда: Киев
Контактная информация:

Re: Проблемы с crontab

Непрочитанное сообщение maza » 2010-12-20 2:28:39

однако долго ты долбался :)
ИМХО

Аватара пользователя
Anti[B]iotik
проходил мимо
Сообщения: 9
Зарегистрирован: 2010-06-27 12:07:28
Откуда: Хмельницкий /home/antibiotik/
Контактная информация:

Re: Проблемы с crontab

Непрочитанное сообщение Anti[B]iotik » 2011-01-10 9:33:09

я просто не сразу здесь отписал )))

Аватара пользователя
maza
проходил мимо
Сообщения: 4
Зарегистрирован: 2010-06-23 16:24:24
Откуда: Киев
Контактная информация:

Re: Проблемы с crontab

Непрочитанное сообщение maza » 2011-01-10 23:41:09

та я ж так ;)
ИМХО

Bayerische
капитан
Сообщения: 1820
Зарегистрирован: 2010-12-25 20:41:50
Откуда: Хлебная столица

Re: Проблемы с crontab

Непрочитанное сообщение Bayerische » 2011-10-25 12:05:06

Проблема откуда-то взялась. Всё работало, потом что-то обновилось, много по мелочи, и перестало. Например, вот такое дело вручную отрабатывает идеально, даже следом можно дописать команды архивирования других директорий:

Код: Выделить всё

#!/bin/sh
DATE=`date '+%Y-%m-%d-%H%M'`
cd /usr/home/user1/backup
mkdir $DATE
chmod 777 $DATE
/usr/bin/tar cvfz $DATE/backup_www.tgz /usr/home/user1/www
Из крона некорректно. Если папка маленькая, жмёт, идёт к следующей команде. Если же большая, упирается в размер архива 51.9 Мб, какой бы её исходный размер не был, и последующие команды не исполняет.
В crontab прописаны пути. В самом скрипте полные, как видно. Юзер рут и там, и там. В логах тишина, просто в кроновском пишет, что сработало задание.
Памяти хватает. Убивал процессы, чистил темп. Без разницы, ровно 51.9 Мб архив получается.
Вручную запускал из csh, sh. Работает.
Сравнил конфиги из бэкапа, полностью папки /etc, /usr/local/etc до и после, почти один в один, добавилось кое что, да версии поменялись.

Bayerische
капитан
Сообщения: 1820
Зарегистрирован: 2010-12-25 20:41:50
Откуда: Хлебная столица

Re: Проблемы с crontab

Непрочитанное сообщение Bayerische » 2011-10-25 17:40:51

Сейчас попробовал вот такое чудо:

Код: Выделить всё

#!/bin/sh
DATE=`date '+%Y-%m-%d-%H%M'`
cd /usr/home/user1/backup
mkdir "AA".$DATE
chmod 777 "AA".$DATE
tar cvfz "AA".$DATE/backup_ports.tgz /usr/ports
Вручную долго затаривает 4 с лишним гигабайта портов с дистфайлами. По крону же 100M с копейками, и всё типа, хватит. :unknown:

Bayerische
капитан
Сообщения: 1820
Зарегистрирован: 2010-12-25 20:41:50
Откуда: Хлебная столица

Re: Проблемы с crontab

Непрочитанное сообщение Bayerische » 2011-10-25 17:47:22

Мой кронтаб.

Код: Выделить всё

SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
#PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/etc/tasks
#
#minute hour    mday    month   wday    who     command
#
*/5     *       *       *       *       root    /usr/libexec/atrun
#
# Save some entropy so that /dev/random can re-seed on boot.
*/11    *       *       *       *       operator /usr/libexec/save-entropy
#
# Rotate log files every hour, if necessary.
0       *       *       *       *       root    newsyslog
#
# Perform daily/weekly/monthly maintenance.
1       3       *       *       *       root    periodic daily
15      4       *       *       6       root    periodic weekly
30      5       1       *       *       root    periodic monthly
#
# Adjust the time zone if the CMOS clock keeps local time, as opposed to
# UTC time.  See adjkerntz(8) for details.
1,31    0-5     *       *       *       root    adjkerntz -a
36      18      *       *       *       root    /etc/tasks/test.sh
Видно, что извращался с путями.
Вообще, оно запарило, честно говоря. Элементарная вещь, а столько гемороя.

Bayerische
капитан
Сообщения: 1820
Зарегистрирован: 2010-12-25 20:41:50
Откуда: Хлебная столица

Re: Проблемы с crontab

Непрочитанное сообщение Bayerische » 2011-10-25 21:09:25

Засунул последнее задание в юзерский кронтаб. Такая же беда. Файл архива растёт только до 100,6 Мб.

Bayerische
капитан
Сообщения: 1820
Зарегистрирован: 2010-12-25 20:41:50
Откуда: Хлебная столица

Re: Проблемы с crontab

Непрочитанное сообщение Bayerische » 2011-10-27 10:41:49

От безысходности обновил весь софт. Проблема пропала :unknown:
Сутки колупал... Хрень какая-то.

терминус_
проходил мимо

Re: Проблемы с crontab

Непрочитанное сообщение терминус_ » 2011-10-27 10:57:00

что показывает

Код: Выделить всё

ulimit -a

Bayerische
капитан
Сообщения: 1820
Зарегистрирован: 2010-12-25 20:41:50
Откуда: Хлебная столица

Re: Проблемы с crontab

Непрочитанное сообщение Bayerische » 2011-10-27 11:00:23

Код: Выделить всё

# ulimit -a
ulimit: Command not found.
# limit
cputime      unlimited
filesize     unlimited
datasize     524288 kbytes
stacksize    65536 kbytes
coredumpsize unlimited
memoryuse    unlimited
vmemoryuse   unlimited
descriptors  11095
memorylocked unlimited
maxproc      5547
sbsize       unlimited
swapsize     unlimited