CRON соизволил скончаться :-(

Аватар пользователя DRVTiny

У меня теперь (на самом деле уже довольно давно, но сейчас назрела острейшая необходимость решать наконец эту проблему) не очищаются логи, не удаляются временные файлы. При этом вроде бы единственное, что я изменял в каталогах Крона - это удалил скрипт prelink (у меня слишком заметно диск тормозил в периоды активации бурной деятельности прелинка). Впрочем, хотелось бы посмотреть, что находится в каталогах /etc/cron.daily (monthly, hourly) у других товарищей (вывод команды ls). Интересно, что даже добавив с помощью crontab -e в очередь заданий тестовый файл вида ***** /bin/date >> ~/mycron.log, я не получил в результате ни малейших признаков активности крона (должен же куда-то вывод date записываться, а в mycron.log перманентно только полное запустение наблюдается). Складывается такое впечатление, как-будто Временщик просто не стартует из скрипта соотв. системного сервиса (но /etc/init.d/crond при этом не завершается с выдачей кода ошибки на выходе).
Помогите, пожалуйста, решить эту проблему, а то у меня корневой раздел уже под завязку забит (вручную не успеваю зачищать его logrotate и tmpwatch, да и неудобно это)

Аватар пользователя rjaan

Re: CRON соизволил скончаться :-(

При добавлении скрипта или исполняемого файла в один из каталогов cron.daily, cron.hourly, cron.weekly, cron.monthly, которые находятся в /etc, то он будет исполняться каждый, час, день, неделю, месяц. Эти правила запуска по времени декларируются в /etc/crontable
Более детальную информацию, можно получить прочитав CRON(Поражён

Аватар пользователя DRVTiny

Re: CRON соизволил скончаться :-(

Ну вот в том-то и дело, что скрипты в этих каталогах не запускаются вообще никогда, хотя Крон вроде бы работает!

Аватар пользователя Tigro

Re: CRON соизволил скончаться :-(

А машина круглые сутки работает или нет? Грубо говоря, около 4-х часов ночи она включена?

Аватар пользователя rjaan

Re: CRON соизволил скончаться :-(

Зайди в консоле под рутом, и выполни PS(1) c ключами ax, как аргументом без черточек. У тебя должен быть такой результат, примерно

[root@home ~/]# ps ax | grep cron
  2079 ?        S      0:00 crond
10458 pts/4    S      0:00 grep cron
[root@home ~/]#

Если crond отсутствует, то значит тебе в сервисах надо указать его выполнение.
или ручкими из той же консоли запустить.

[root@home ~/]# /etc/init.d/crond start
Запускается crond:                                         [  ОК  ]

Если crond запушен,а ничего не Жужит, то приступай к проверки /etc/crontab, не буду в даваться в подробности, как и что это можно прочитать в CRONTAB(5), в 5-ой секции Manuals

[root@home ~/]#  man 5 crontab

Желаю успехов. Ждем результатов твоих исследований.

Аватар пользователя DRVTiny

Re: CRON соизволил скончаться :-(

Re2rjaan: И как же это Вы так из под суперпользователя все операции выполняете? Первое правило техники безопасности пользователя Linux злостно нарушаете или это Вы только ради /etc/init.d/crond терминал root'а предлагаете запускать?
Ладно, не суть Улыбка
Вот содержмое моего /etc/crontab'а:

Цитата:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

Вроде бы довольно стандартно вынлядит этот файл. Скрипты из каталогов /etc/cron.* запускаются с правами root, ну так они же стартуют "по инициативе" процесса, также наделённого полномочимяи действовать от имени super user'а...
crond у меня, разумеется, загружен (всё-таки я уже далеко не первый и даже не второй год в Linux работаю, так что как запускать системные сервисы знаю не понаслышке Улыбка )
Re2Tigro:

Цитата:
А машина круглые сутки работает или нет? Грубо говоря, около 4-х часов ночи она включена?

Нет, не круглые сутки, но какое это имеет значение, если даже скрипты из cron.hourly не стартуют?
Вообще, какой таймер (и где он настраивается, и как проверить, жив ли он ещё? - если достаточно того, что работает at, то таймер вполне исправен) использует Крон?
Кстати, "just for fun" добавил я из-под super user'а такое вот немудрёное задание Крону:

Цитата:
# crontab -e
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /sbin/reboot

Вот уже битый час сижу, жду, когда же наконец компьютер перезагружаться начнёт.

Аватар пользователя Tigro

Re: CRON соизволил скончаться :-(

Cron.hourly - это подозрительно, а вообще-то еще есть anacron. Он выполняет все то, что в свое время не выполнил cron.

Аватар пользователя DRVTiny

Re: CRON соизволил скончаться :-(

anacron у меня тоже запущен

Аватар пользователя rjaan

Re: CRON соизволил скончаться :-(

> Re2rjaan: И как же это Вы так из под суперпользователя все операции выполняете? Первое правило техники безопасности пользователя Linux злостно нарушаете или это Вы только ради /etc/init.d/crond терминал root'а предлагаете запускать?

Да коллега, CRON(Поражён может работать только под суперпользователем, т.к. во-первых /usr/sbin/cron имеет права пользователя root, а пользователь в группе root.

-rwxr-xr-x  1 root root 27784 2004-04-06 09:25 /usr/sbin/cron

К тому же я рекомендую прочитать man, и третье посмотрите /var/log/messages куда пишит crond.

Да забыл сказать, что CRON(Поражён всегда выполняется из под локали. И со стороны удаленного пользователя не доступен. Для того, чтобы вскрыть систему, надо вскрыть один из сетевых сервисов, которые у вас могут быть запушены. Или поставить вам rootkit.

Аватар пользователя DRVTiny

Re: CRON соизволил скончаться :-(

Цитата:
Да коллега, CRON(Поражён может работать только под суперпользователем, т.к. во-первых /usr/sbin/cron имеет права пользователя root, а пользователь в группе root.

Вы меня как-то очень странно поняли (или я изъясняюсь слишком туманно): я имел в виду, что работать надо в преимущественно в консоли обычного пользователя, а команды типа /etc/init.d/crond restart выполнять с помощью su -c 'command sequence'. Во всяком слуаче я в большинстве случаев (когда не надо очень много команд набивать под root'ом и вполне можно уместить их все в одну не очень длинную строчку, используя ";" или (если это требуется) "&&" и "||") именно так и поступаю.

Цитата:
К тому же я рекомендую прочитать man

Я man по Крону уже давно весь прочитал. А Вы?
Главное, толку-то...
А /var/log/messages... Хорошо, что Вы мне о нём напомнили. Я тут как заглянул, в /var/log, так у меня аж глаза на лоб поехали, а выше по черепу волосы слегка зашевелились и стали в стойку: messages занимает ни много, ни мало... 4195865 байт (4Мб) !!! Товарищи, помогите, пожалуйста, и как можно скорее, а то ведь у меня с такими темпами заполнения логов очень скоро корень окончательно и бесповоротно накроется (я к сожалению для /var и /tmp не отдельных разделов заводить) - он уже определённо близок к этому (заполнен на 98%)!

Аватар пользователя rjaan

Re: CRON соизволил скончаться :-(

Цитата:
А /var/log/messages... Хорошо, что Вы мне о нём напомнили. Я тут как заглянул, в /var/log, так у меня аж глаза на лоб поехали, а выше по черепу волосы слегка зашевелились и стали в стойку: messages занимает ни много, ни мало... 4195865 байт (4Мб) !!! Товарищи, помогите, пожалуйста, и как можно скорее, а то ведь у меня с такими темпами заполнения логов очень скоро корень окончательно и бесповоротно накроется (я к сожалению для /var и /tmp не отдельных разделов заводить) - он уже определённо близок к этому (заполнен на 98%)!

 [root@home ~]# rm -f  /var/log/messages

самое оптимальное решение. Улыбка

Аватар пользователя DRVTiny

Re: CRON соизволил скончаться :-(

Ну да, есть ещё вариант

rm -f /var/log/*

(максимум через день опять всё будет заполнено под завязку, да и не для того существую логи, чтобы с ними сисадмины и юзеры боролись, как с каким-нибудь мусором)
или каждый час запускать скрипты logrotate и 00-logwatch вручную из /etc/cron.hourly - тоже выход Грустный

rjaan, я конечно понимаю, что у Вас отменное чувство юмора (и я это очень ценю, поверьте мне), но вот интересно, как Вы объясните то, что вообще ни одно задание, добавляемое с помощью crontab -e , не выполняется. Если Вы сможете сделать на этот счёт хотя бы относительно резонное (не в стиле "а у тебя руки не оттуда растут") предположение, я буду премного Вам благодарен. А то пока что эти Ваши подколки я иначе, как откровенное издевательство, воспринять не могу (а как прикажете это понимать - буквально?)...

Аватар пользователя Archont

Re: CRON соизволил скончаться :-(

4Мб для /var/log/messages - это просто ерунда.
А вот то, что диск заполнен на 98% - это может быть источником проблем.
Для начала гляньте, чем может быть забит диск. Освободите место. Потом посмотрите, не оживет ли крон. Если диск забит именно логами, проверьте, все ли логи прописаны в logrotate.conf. Возможно вы просто упустили какой-то логфайл, который пишется не в /var/log, или просто что-то забыли включить в ротацию. Может быть разрослась какая-то база данных.
Ищите.

Аватар пользователя slavaz

Re: CRON соизволил скончаться :-(

Если корневой раздел такой маленький, то можно /var/log перенести в большой раздел и потом этот же /var/log сделать симлинком.
По поводу невыполнения крона - он выполняется из-под рута, поэтому 98% забитого диска не должны быть критичными. Но глубоко крон я не изучал, поэтому точно сказать не могу - "натыкается" крон на 5%, которые зарезервированы для рута, или нет.
ну и rm -f /var/log/mesages - не совсем корректно.
Лучше echo -n >/var/log/messages; sync
Улыбка

Аватар пользователя rjaan

Re: CRON соизволил скончаться :-(

Взято из CRONTAB(1), а точнее

[root@home ~] man 1  crontab

crontab - создает редактирует, удаляет для конкретного пользователя.
т.е. когда DRVTiny делает

[root@home ~]#  crontab -e 

то он на самом деле вызывает редактор vi, для редактирования crontab пользователя сессии, в примере пользователя ROOT. Там в MAN'e к CRONTAB(1) написано к опции '-e'

Цитата:
The -e option is used to edit the current crontab using the editor
specified by the VISUAL or EDITOR environment variables. After you
exit from the editor, the modified crontab will be installed automati-
cally.

Последнее англицкое предложения гласит, что модифицированный crontab будет принят к исполнению после выхода из редактора. Там installed automatically можно переводить, как принятое к исполнению.

Аватар пользователя DRVTiny

Re: CRON соизволил скончаться :-(

Замечательно, вот я и говорю о том, что после


$ touch ~/mycron.log; export EDITOR=mcedit; crontab -e
00,10,20,30,40,50 * * * * /usr/bin/date >> ~/mycron.log

длина файл ~/mycron.log остаётся "нулевой" и через полчаса, и через 3-е суток
Вот я и пытаюсь выяснить наконец у компетентных в этом вопросе товарищей, ПОЧЕМУ задания для Крона не выполняются (вот rjaan хотя бы обратил на это внимание. Ведь очевидно же, что если Крон не извлекает задания из спула, то и все остальные "текущие работы" он тоже благополучно игнорирует)?
Прим. никаких cron.allow, cron.deny у меня в /etc нет, так что любой пользователь может ставить в очередь Крона свои задания посредством crontab -e

Аватар пользователя rjaan

Re: CRON соизволил скончаться :-(

2DRVTiny: В случаях, когда что-то не работает, по причине не допонимания руководства. Такое бывает, когда функция упоминается одним предложением. Я обычно разбираю исходный код приложения. Надо посмотреть код crond и crontab . Вообщем, разобрать запуск локального ~/crontab.

Аватар пользователя Archont

Re: CRON соизволил скончаться :-(

А чего гадать на кофейной гуще?
Создаются ли и уничтожаются ли /var/run/crond.pid и /var/lock/subsys/cron при старте/останове демона?
Покажите df и top.
Наконец, покажите /etc/crontab

Аватар пользователя DRVTiny

Re: CRON соизволил скончаться :-(

1)

file /var/run/crond.pid
/var/run/crond.pid: ASCII text

2) файл /var/lock/subsys/cron не имеет места быть
3)

df
/dev/hda3              1049176    951844     97332  91% /
...

4) crontab я уже раньше здесь выкладывал, но вообще, дабы не лезть на стр. 1 этого трэда, вот Вам crontab ещё раз:

$ cat /etc/crontab
 SHELL=/bin/bash
 PATH=/sbin:/bin:/usr/sbin:/usr/bin 
 MAILTO=root
 HOME=/

 # run-parts
 01 * * * * root run-parts /etc/cron.hourly
 02 4 * * * root run-parts /etc/cron.daily
 22 4 * * 0 root run-parts /etc/cron.weekly
 42 4 1 * * root run-parts /etc/cron.monthly
Аватар пользователя Archont

Re: CRON соизволил скончаться :-(

Если /dev/hda3 - единственный смонтированный раздел, то места вроде хватает пока.
А вот то, что нет /var/lock/subsys/cron - это уже странно.
Присутствует ли в /etc/rc.d/init.d/crond следующее:
start() {
echo -n $"Starting $prog: "
daemon crond
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/crond
return $RETVAL
}

И что же кажет top?
Нет ли процессов, грузящих систему под завязку?
У меня было год назад такое:
из-за ошибок в syslog.conf и logrotate.conf раза два в месяц logrotate ставил систему раком (syslog плодил кучу mgetty.log mgetty.0.log mgetty.0.0.log etc...., a logrotate честно пытался эту почти бесконечную последовательность логов зазиповать).

Аватар пользователя DRVTiny

Re: CRON соизволил скончаться :-(

Э-э-э... Посмотрел я тут файл /etc/init.d/crond и очень сильно удивился (оказывается, каких-то элементарных вещей я ко всему прочему ещё и не знаю). А откуда, собственно, вызываются команды эти загадочные: daemon и killproc? Многие стартовые сервисы создают свои резиденты с помощью этого самого daemon и убивают их, используя killproc, но что это за таинственные функции ОС такие? И не встроенные команды bash, и не программы, а что-то "зашитое" в саму ОС. Вызов ядра напрямую? Слово daemon как таковое встречается только один раз здесь: /usr/lib/cups/daemon
Но вообще тот кусок кода, который Вы привели, у меня тоже имеется, а файл /var/lock/subsys/crond на самом деле нормально создаётся при запуске сервиса. Просто Вы в предыдущем сообщении букву на конце имени файла потеряли, а я поленился проверить с помощью ls /var/log/susbsys | grep cron, есть ли в упомянутом каталоге другие файлы с похожими названиями.

Аватар пользователя slavaz

Re: CRON соизволил скончаться :-(

Цитата:
А откуда, собственно, вызываются команды эти загадочные: daemon и killproc?

Это функции и определены они в /etc/init.d/functions
Поищи по
daemon()
killproc()

Аватар пользователя DRVTiny

Re: CRON соизволил скончаться :-(

А я-то думал... Надо было мне сразу сделать grep daemon /etc/init.d/*
Вот, кстати, сейчас сделал вывод по ps -e и полностью скопировал его прямо вот сюда (ничего не утаил Улыбка ):

    1 ?        00:00:01 init
    2 ?        00:00:00 ksoftirqd/0
    3 ?        00:00:00 events/0
    4 ?        00:00:00 khelper
    5 ?        00:00:00 kacpid
   18 ?        00:00:00 kblockd/0
   28 ?        00:00:00 pdflush
   29 ?        00:00:01 pdflush
   31 ?        00:00:00 aio/0
   19 ?        00:00:00 khubd
   30 ?        00:00:01 kswapd0
  107 ?        00:00:00 kseriod
  187 ?        00:00:00 reiserfs/0
  924 ?        00:00:00 udevd
 1664 ?        00:00:00 syslogd
 1668 ?        00:00:00 klogd
 1690 ?        00:00:00 portmap
 1776 ?        00:00:00 automount
 1791 ?        00:00:00 smartd
 1803 ?        00:00:02 cupsd
 1854 ?        00:00:00 privoxy
 1864 ?        00:00:00 mman
 1874 ?        00:00:00 crond
 1946 ?        00:00:00 xfs
 1984 ?        00:00:00 atd
 2003 ?        00:00:00 cups-config-dae
 2041 tty1     00:00:00 mingetty
 2042 tty2     00:00:00 mingetty
 2043 tty3     00:00:00 mingetty
 2044 ?        00:00:00 gdm-binary
 2273 ?        00:00:00 gdm-binary
 2424 ?        00:15:00 X
 2482 ?        00:00:14 icewm
 2529 ?        00:00:00 ssh-agent
 2531 ?        00:01:27 gbx
 3251 ?        00:00:00 consolehelper-g
 3252 ?        00:00:00 userhelper
 3253 ?        00:00:19 kppp
 3254 ?        00:00:00 kppp
 3257 ?        00:00:00 kdeinit
 3261 ?        00:00:00 kdeinit
 3263 ?        00:00:00 kdeinit
 3265 ?        00:00:04 kdeinit
 3268 ?        00:00:00 gam_server
 3279 ?        00:09:46 opera
 3283 ?        00:00:01 sylpheed
 3476 ?        00:00:00 xterm
 3478 pts/1    00:00:00 bash
 3544 ?        00:00:00 xterm
 3546 pts/2    00:00:00 su
 3549 pts/2    00:00:01 xterm
 3551 pts/3    00:00:00 mc
 3553 pts/4    00:00:00 bash
 4038 ttyS1    00:00:00 pppd
 4213 ?        00:00:00 dansguardian
 4214 ?        00:00:00 dansguardian
 4215 ?        00:00:00 dansguardian
 4216 ?        00:00:00 dansguardian
 4217 ?        00:00:00 dansguardian
 4219 ?        00:00:00 dansguardian
 4220 ?        00:00:00 dansguardian
 4221 ?        00:00:00 dansguardian
 4224 ?        00:00:00 dansguardian
 4226 ?        00:00:00 dansguardian
 4228 ?        00:00:00 dansguardian
 4531 pts/4    00:00:00 ps
 4532 pts/4    00:00:00 bash

С этим, я надеюсь, всё в порядке? (я не о том, что у меня количеством процессов dansguardian определённый перебор вышел, а о качественном и количественном составе процессов, от которых зависит жизнедеятельность временщика Крона)

Аватар пользователя slavaz

Re: CRON соизволил скончаться :-(

Кстати,

Цитата:
In this version of cron , without the -p option, /etc/crontab must not be writable by any user other than root, no crontab files may be links, or linked to by any other file, and no crontab files may be executable, or be writable by any user other than their owner.

ls -l /etc/crontab и ls -l /var/spool/cron
Короче, права записи должны быть только у владельца. Не знаю, поможет ли, но вдруг: таже проверь права на файлы в каталогах /etc/cron.*
Если по правам порядок - будем дальше думать...

Аватар пользователя DRVTiny

Re: CRON соизволил скончаться :-(

В каталог /var/spool/cron и действительно затесался 1 файл с правами на запись группе. На всякий случай везде (во всех каталогах Крона) выставил маску 600 "оптом". Сейчас рестартовал КронД и жду, когда же наконец компьютер самопроизвольно перезагрузится (я ведь задание на "перезагрузку через каждые 5 минут" так и не удалил). Но что-то пока не видно результатов. 5 минут, 5 минут - это много или мало? Не, явно 5 минут - это уже СОИШКОМ много получается, так и устать можно в ожидании "у моря погоды".

Аватар пользователя slavaz

Re: CRON соизволил скончаться :-(

Ладно, не хочет crond по-хорошему - будет ему по-нашему
Довольно муторный путь, но если хочешь разобраться, то его надо будет пройти...
Для начала скопируй куда-нить /etc/crontab и все файлы из /var/spool/cron
Затем удали всё из /var/spool/cron, а в /etc/crontab закомментируй все run-parts строки, вручную допиши что-то вроде
* * * * * root run-parts /tmp/test_cron

соответственно, mkdir -p /tmp/test_cron
и в этот каталог что-нить такое добавь:

#!/bin/sh
export PATH=/bin:/usr/bin
date >>/tmp/test_cron.log

Короче, смысл всего - методом исключения найти "загвоздку", из-за которой крон не работает. Если и это не спасёт, то дальше разворачивать исходники крона и чуть ли не делать свои отладочные врезки...

Аватар пользователя DRVTiny

Re: CRON соизволил скончаться :-(

Около 30 минут назад:
удалил всё из /var/spool/cron (там ничего ценного и не бьло)
закомментировал run-part'Ы в /etc/crontab, заместив их нижеследующей строчкой:
* * * * * /etc/cron.hourly/run_forever

run_forever выглядит так:

 #!/bin/bash
 echo 'The date is `/bin/date`' >> /var/log/cron.tst.log
 echo 'It is CronDont worry, be happy!'
 echo 'Bye!'

В файле /var/log/cron.tst.log до сих пор не появилось ни одной записи. Крон явно скорее мёртв, чем жив (во всяком случае ни малейших признаков жизни он не подаёт).
Какие ещё будут предложения по реанимации Крона?

Аватар пользователя slavaz

Re: CRON соизволил скончаться :-(

cat /etc/pam.d/crond
Что там?
и, для полной картины, rpm -qa|grep cron

Аватар пользователя slavaz

Re: CRON соизволил скончаться :-(

В догонку:
http://fcron.free.fr/
Или обнови свой.
Конечная цель - чтобы задания по расписанию заработали. А что будет это обеспечивать - не важно.

Аватар пользователя Archont

Re: CRON соизволил скончаться :-(

А работают ли команды time и at?

Аватар пользователя Archont

Re: CRON соизволил скончаться :-(

Цитата:
slavaz пишет:
cat /etc/pam.d/crond
Что там?
и, для полной картины, rpm -qa|grep cron

Лично у меня так:
rpm -qa | grep cron
anacron-2.3-17
crontabs-1.10-1
vixie-cron-3.0.1-64

И /etc/pam.d/crond нет вовсе.
crond работает исправно.

Аватар пользователя DRVTiny

Re: CRON соизволил скончаться :-(

Собственно, результаты предложенных тестов (какие виды планировщиков установлены с помощью rpm и есть ли файл /etc/pam.d/crond) у меня абсолютно аналогичны результатам, полученным Archont'ом (только версии пакетов соответствуют дистрибутиву ASPLinux v10, а не 9.2). Насчёт fcron - пожалуй, стоит рассмотреть этот альтернативный вариант (сейчас вплотную займусь изучением методики работы с fcron'ом, а то все эти шаманские пляски, имеющие целью воскресить Крон из мёртвых, уже стали изрядно надоедать: получается, что слишком много времени уходит на ковыряние в этом капризном планировщике задач).
rjaan, дав ссылку на заметку о CRON, как мне кажется, хотел обратить наше внимание на содержание приводимого ниже абзаца (в остальном заметка малоинформативна, поскольку у меня в книге Девида Тейнсли "Программирование в Shell" всё подробнее и понятнее расписано):

Цитата:
Как правило все ваши данные (задания) для крона
хранятся по адресу /var/spool/cron/ в файле с именем соответствующим
вашему логину. Например /var/spool/cron/vadim
Внутри файл выглядит
следующим образом:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=vadim
HOME=/home/vadim

# run-parts
01 * * * * command
02 4 * * * command

(сразу видно, что по русскому языку автор заметки больше 2-х баллов никогда не получал. Учителя, по-видимому, были склонны даже переоценивать его более, чем скромные способности Улыбка )
Но, позвольте, это же ни в коем разе не даёт право cron игнорировать /etc/crontab! Понятно ведь, что и при работе под учётной записью пользователя задания администратора всё равно должны выполняться (в данном случае система защиты не позволит обычному пользователю каким-либо образом повлиять на выполнение заданий, добавленных в очередь супер-пользователем или назначенных в /etc/crontab).

Аватар пользователя Archont

Re: CRON соизволил скончаться :-(

Да фиг с ними, со способностями автора "статьи" к эпистолярному жанру, ими на форумах всё равно никто не блещет!
Вы лучше доложите об исполнении команд 'time' и 'at'!
И вообще, как там ваш crond?

Аватар пользователя DRVTiny

Re: CRON соизволил скончаться :-(

Н-да... и правда что-то не то с at Задания он в очередь ставит исправно, но так же, как и Крон, почему-то упорно отказывается выполнять их как в назначенное мной время, так и вообще когда бы то ни было. Странно, очень странно, что-то я никак понять не могу, из-за чего система стала вдруг ни с того, ни с сего реагировать до такой степени неадекватно. В общем, такая "махровая туфта", как echo echo 'Всё работает, всё у нас отлично!' | at now +1 minute у меня почему-то "не прокатывает". Кстати, из-под root'а тоже ничего не работает, так что прямо теряюсь в догадках, из-за чего подобный "дефолт" мог произойти, и совершенно не представляю себе, как это лечить Грустный

Аватар пользователя DRVTiny

Re: CRON соизволил скончаться :-(

Кстати, команда time работает именно так, как ей и положено, а в списке top нет ни одной задачи, которая могла бы грузить процессор на пределе (собственно, до того, как этого лазутчика из стана империалистов вышвырнул за шкирку, единственной программой, которая грузила CPU так, что и мышка еле двигалась, был неподражаемый prelink (какой дурак догадался его по умолчанию в cron.hourly запихать?!)), но.. вот не работает и всё тут!
Товарищи, вылезайте же наконец из курилки (Минздрав в последний раз предупреждает) и помогите мне наконец решить эту изрядно уже набившую оскомину проблему. На всякий случай сообщаю для тех, кто ещё не осознал масштаб локальной чрезвычайной ситуации, имеющей место на моей системе: fcron тоже принимает задания, но выволнять их в назначенный срок отказывается.

Аватар пользователя slavaz

Re: CRON соизволил скончаться :-(

Если ядро самосборное - включена ли поддержка rtl или других "железных" таймеров?

Аватар пользователя Archont

Re: CRON соизволил скончаться :-(

Как давно перестал работать crond?
Что могло привести к этому?
Я имею ввиду изменения в системе.
Имеются ли другие работающие ядра?

Аватар пользователя DRVTiny

Re: CRON соизволил скончаться :-(

Цитата:
Если ядро самосборное - включена ли поддержка rtl или других "железных" таймеров?

Ядро стандартное, версии 2.6.9-1.667asp

Цитата:
Как давно перестал работать crond?
Что могло привести к этому?
Я имею ввиду изменения в системе.
Имеются ли другие работающие ядра?

Откровенно говоря, даже не знаю, когда у меня Крон и все аналогичные приложения-планировщики разом перестали работать. Дело в том, что я заметил это только тогда, когда программы начали аварийно завершать работу из-за переполнения корневого раздела, в котором у меня по недосмотру оказался /tmp (сейчас урвал здоровенный кусок от раздела с Windows XP, создал там loop-раздел с файловой системой ext2fs и прописал его в /etc/fstab. После этого явно полегче стало (эот состояние временное, конечно, но хоть работать пока можно))
Вообще был у меня период, когда я собственноручно месяца на 2 отключил запуск сервиса КронД на дефолтном 5-м run-level'е, после чего вернул его на место. Ещё prelink удалил из /etc/cron. каталогов. Э... да, собственно, всё, вроде бы. Разве что пуомянуть о том, как я долго и нудно боролся с модулями VMware, которые почему-то один единственный раз собрались нормально (vmware работал), но после того, как я неудачно попытался осуществить "откат" на оптимизированное самосборное ядро 2.6.7 со старой системой именования устройств devfs вместо упорно нежелавшей работать современной udev, после чего вернулся обратно на 2.6.9-1.667asp, при компиляции этих омдулей стали вылезать многочисленные warninig'и, а для того, чтобы запустить vmware, приходилось каждый раз заново проходить процедуру конфигурирования через vmware-config.pl В принципе, vmware напрямую задействует RTC-таймер, так что, вполне вероятно, что крах Крона напрямую. связан с неадекватным поведением vmware.
Вообще сейчас я, пожалуй, загружу "запасное" ядро 2.6.7 и посмотрю, насколько благотворно сие повлияет на состояние нездоровья "Крона со товарищи".

Аватар пользователя DRVTiny

Re: CRON соизволил скончаться :-(

Пребываю в полном недоумении, "выражаясь метафорически", челюсть у меня судорожно цепляется за нбр подбородок, глаза в состоянии полной боевой готовности, т.е на выкате: дело в том, что после того, как я загрузился со своим ядром 2.6.7, и, выполнив echo reboot | at now +1 minute , благополучно вернулся обратно к синему окошку ASPLoader (уже совсем неплохо, правда?), и at, и fcron честно заработали на стандартном 2.6.9-1.667asp! Cron, к сожалению, до сих пор не сдаётся, но мне этот капризный "Демон Поверженный" уже и не нужен вовсе, поскольку fcron способен сделать всё тоже самое, только лучше. Если кто-нибудь может объяснить мне, что могло изменится произошло от кратковременной ядерной перестановки - выслушаю с огромным интересом, поскольку сам я даже догадок на сей счёт строить не могу. Остаётся только посетовать на мою дурную голову, которая при каждой перезагрузке в автоматическом режиме приказывала пальцам тупо давить на Enter при появлении окна ASPLoader'а, вместо того, чтобы сподобиться сгенерировать единственно разумную (как оказалось) в данном случае мысль: "а не попробовать ли нам бутстрап до баша на другом ядре..." А ведь сколько времени я на беспощадную борьбу с ветряными мельницами угробил - это же уму непостижимо!
В общем, если при следующей перезагрузке всё не повалится снова, то тему можно будет считать закрытой. Спасибо огромное всем, и в первую очередь Archont'у и Славе З.

RSS-материал