to post messages and comments.

Вопрос линуксоидам

В /etc/crontab сменил
```
35 7 * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
```
на
```
11 3 * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
```

Крон рестартанул, несколько раз
один хрен запускается в 7:35
Куда копать?

Что-то я не понимаю ни в какую — у крона стоит TZ=Asia/Novosibirsk; в /etc/timezone вписано Asia/Novosibirsk; date показывает верное время, но крон запускается как по гринвичу. ЧОЗАХНЯ?

Жуйк, подскажи, как мне вбить команду для крона, чтобы похерить все файлы по такой регулярочке [0-9]{10}\.zip\.[A-Z]{6}? Собственно, можно и без регулярки.

Я всё удивлялся, почему на нубских линуксячьих форумах так много плача о неработающих cron задачах. Ведь такая простая система! Однако в последнее время сам много с ним воюю :-/

Переехал c dcron на cronie, и внезапно перестал срабатывать один скрипт из /etc/cron.hourly. Копаю, и оказывается, что run-parts выполняет (по-умолчанию) не все исполняемые файлы из /etc/cron.{hourly,daily,weekly}, имя должно удовлетворять условию. man run-parts:
If neither the --lsbsysinit option nor the --regex option is given then the names must consist entirely of ASCII upper- and lower-case letters, ASCII digits, ASCII underscores, and ASCII minus-hyphens.
If the --lsbsysinit option is given, then the names must not end in .dpkg-old or .dpkg-dist or .dpkg-new or .dpkg-tmp, and must belong to one or more of the following namespaces: the LANANA-assigned namespace (^[a-z0-9]+$); the LSB hierarchical and reserved namespaces (^_?([a-z0-9_.]+-)+[a-z0-9]+$); and the Debian cron script namespace (^[a-zA-Z0-9_-]+$).
А мой скрипт назывался JOB.sh >_<

Теперь хочу в кронтаб рута запилить задачу, которая должна регулярно создавать архив
job | xz > archive_`date +%F_%T`.xz

не работает. WTF?! Оказывается, дело в кавычках, $( xz ) работает. Вот эту проблему я вообще не понимаю.

weatherman или сбор статистики через METAR. Давно мечтал про скрипт, накапливающий статистику по изменению температуры и давления. Год назад, написал крошечный парсер на питоне, выгребающий из интернета metar-файл для моего города и парсящий из него давление и температуру...
tengu911.wordpress.com

Жуйк, запуск в cron каждые 5 минут это ведь
5 /usr/bin/bla-bla?
И да, чтобы не писать в главный файл — /etc/crontab, можно ведь создать скрипт в /etc/cron.d/ и кинуть параметр в него. У него есть какой-то стандарт расширения или имени вообще?
Или даже если я туда закину ololo.run и сделаю chmod +x — оно будет запускаться?

Сегодня я решил посмотреть, а что же у меня есть в кроне вообще.
Обнаружил там скрипт.
Который бэкапит конфиги.
В сабвершн.
Каждый сраный день (само собой т.к. сабвершн — только если изменились и только то что изменилось).
Четыре.
Ебаных.
Года.
Подряд.
И спустя чуть менее чем четыре года с тех пор, как я о нем забыл.

Интересные товарищи дают халявный хостинг на radyx.ru (он же ayola.net).
Использовать url_fopen, url_include, sockets и CURL нельзя (только за $$). А stream_socket можно :-).

Конечно хостинг там без крона. Но есть же сервис CronJob.ru.

наконец-то я собрался с духом и осилил cron. Все достаточно просто, но были небольшие проблемы с мелочами (например, директории запуска скриптов). Теперь машины юзеров будут обновляться по расписанию.

Сколько лет dcron радовал арчеводов, и вот какое-то время назад в нем нашли досадную ошибку. Вместо того, чтобы придумать заплатку, его выкидывают на помойку как будто труп бабушки… А в репозиторий суют другую дырявую поделку.
Жестокий мир open source.

Я наконец сделал это! =)
dos ~ # crontab -l
# DO NOT EDIT THIS FILE — edit the master and reinstall.
# (/tmp/crontab.XXXXN6bSbc installed on Thu Feb 24 23:47:46 2011)
# (Cron version V5.0 — $Id: crontab.c,v 1.12 2004/01/23 18:56:42 vixie Exp $)
0 /3 emerge --sync -q && layman -S -q &> /dev/null && notify-send "Synchronization is complete."
dos ~ #

У доебана наглухо ебанутый крон.
Он не выполняет скрипты положенные в /etc/cron.{hourly|daily|weekly|monthly} если у них есть расширение.
Удаляешь расширение — на здоровье, все работает.
Ненавижу.

Господа! Еще раз довожу до сведения всех, что скрипт, запускаемый через cron, должен молчать если всё хорошо, и выдавать ошибку если всё плохо. Тогда когда плохо, это самое плохо уйдёт на почту, указанную в MAILTO или юзеру, от которого запускается.
Вы ЗАДОЛБАЛИ запускать php-cgi вместо php-cli, и срать текстом "ALL OK" на stdout, тем самым забивая диск и очередь почтовиков.

cd /var/www/studsove/data/www/studsovet.engec.ru/ && php cron.php >/dev/null 2>&1
Вот такая строчка в кроне ISPManager. Ибо ни wget, ни curl, ни что-либо другое не пашет на этом быдлохостинге.

Научил сервер определять свой внешний айпишник в случае его изменения (например, ребут роутера) и слать его мне на почту. Накатал вот такой скриптик, который добавил в cron. Самые большие грабли, которые попались: можно использовать только абсолютные пути! Везде, даже при вызове команды из /usr/sbin.

oldip=`cat /home/michael/myscripts/myip`
newip=`wget -O — -q icanhazip.com`
mailbody="0"
if [ $newip != $oldip ]
then
echo $newip > /home/michael/myscripts/myip
echo "To: [email protected]" > $mailbody
echo "Subject: "$newip >> $mailbody
echo "" >> $mailbody
/usr/sbin/ssmtp [email protected] < $mailbody
fi

Ну, и конфиги:
/etc/ssmtp/ssmtp.conf:
[email protected]
mailhub=smtp.gmail.com:587
hostname=gmail.com
UseSTARTTLS=YES
[email protected]
AuthPass=yourpassword

и /etc/ssmtp/revaliases:
root:[email protected]:smtp.gmail.com:587
michael:[email protected]:smtp.gmail.com:587

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

скажите, как в кроне вместо звездочки указать последнее из возможных значений? например последний день месяца? как указать каждый 3 день я знаю, а вот последний хочется что то вроде того: */x

Дело было не в бобине — идиот сидел в кабине...Ебанутый dcron не хотел работать. Постаил fcron стало все отлично. А я уж думал что я что-то не так делаю...нихуя, все правильно делал. Правда в кронтабе можно было прописать просто:
00 pacman -Sy
Ступил немного...бывает.

Может быть я задаю нубский вопрос, но как работает этот тупой cron? Ничего не пойму. Второй день уже разобраться не могу. Задача простая — запускать pacman -Sy каждый час(настраиваю коньки, нужно для уведомлений о пришедших пакетах). Установлен, в демонах прописан и запускается при старте системы.
Я создал простой скрипт /etc/cron.hourly/update:
#!/bin/bash
pacman -Sy
И нифига не работает...Мудохался с crontab...там мне ничего тоже не ясно...Жуйк, помоги решить проблему.