| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > *NIX системы: Общие вопросы > crontab suse10.1 |
| Автор: bam00 8.1.2007, 17:13 | ||
Пишу в /etc/crontab:
На что получаю письмо cледующего содержания: /bin/sh: /etc/cron.daily: is directory Т.е., я так понимаю, cкрипт бы он выполнил, а что надо написать в crontab, чтобы выполнялось содержимое всей директории /etc/cron.daily |
| Автор: powerfox 8.1.2007, 17:16 | ||
|
| Автор: bam00 8.1.2007, 17:27 |
| На это письмо с ошибкой не получил, но ничего и не выполнилось |
| Автор: ZeeLax 8.1.2007, 17:47 |
| bam00, в лог смотрели? |
| Автор: bam00 8.1.2007, 18:23 |
| А где смотреть логи, в /var/log вроде нет ничего про cron |
| Автор: ZeeLax 8.1.2007, 18:35 |
| /var/log/syslog /var/log/messages |
| Автор: bam00 8.1.2007, 18:44 |
| mesages.log Jan 8 20:49:01 CEPBEP /usr/sbin/cron[4350]: (root) CMD (/etc/cron.daily/*) чтобы это значило |
| Автор: powerfox 8.1.2007, 19:27 |
| Наверное, что надо было sh /etc/cron.daily/* |
| Автор: bilbobagginz 8.1.2007, 19:28 | ||||
| ошибка в том, что "запуск" папки ничего не даёт. попробуй запустить свою текущую папку:
получишь ту же ошибку. у меня на SLES9 серванте в /etc/crontab прописаны сл. строчки:
первая - пытается запустить каждые 15 минут скрипт /usr/lib/cron/run-crons. остальные - стирают специальные файлы, которые создаются первой строкой. Эти строки появились в файле при установке системы. посмотри есть ли у тебя такой скрипт, нет ли у тебя резервной копии этого файла. и ответь как получилось, что у тебя нет этих строк ? |
| Автор: bam00 8.1.2007, 19:46 |
| Да, было также, но так не устраивает. Мне надо чтобы в ежедневно всегда в одно и то же время запускалась моя программа. Этот же скрипт, запускает cron.daily не в одно и то же постоянное время, а оно (время запуска cron.daily) меняется на время последней перезагрузки компа. |
| Автор: bam00 8.1.2007, 20:02 |
| to powerfox /var/log/messages Jan 8 23:05:01 CEPBEP /usr/sbin/cron[4646]: (root) CMD (root sh /etc/cron.daily/*) Jan 8 23:05:01 CEPBEP /usr/sbin/cron[4645]: (root) CMD (sh /etc/cron.daily/*) |
| Автор: bilbobagginz 8.1.2007, 21:08 | ||
есть программа at. |
| Автор: naprimer_ivan_petrov 8.1.2007, 22:36 |
| debianutils: run-parts должно и в сюсе что-нибудь подобное быть. если нет, то наверно такое задание напиши: for i in $(ls <где задания лежат>) ; do sh <там где задания лежат>$i ; done |
| Автор: bilbobagginz 8.1.2007, 23:22 |
| naprimer_ivan_petrov, SuSE в этом смысле имеет свои утилиты, надо ими и пользоваться.. а то иногда бывает такое... ( какой нить файлик временный забудешь создать, и придётся ёжиков рожать ) |
| Автор: ZeeLax 9.1.2007, 07:09 | ||
? |
| Автор: bam00 9.1.2007, 11:06 |
| ZeeLax Мне кажется, что каталоги cron.daily и т.п. задумывались, чтобы положил туда, и ни о чем голова не болит. В RedHat9 по крайней мере так и было (непонятно, чем руководствовались suse-исты, когда это переделывали). А Вы предлагаете универсальное средство заменить на частное решение: прописывать в crontab каждый файл. Ну, что ж, хоть какое-нибудь решение, оно хотя бы решение. Всем спасибо |
| Автор: bilbobagginz 9.1.2007, 11:21 | ||||
Не прими мои комменты как "защиту" SUSE. но не нужно свои незнания поддерживать сомнительной некомпетентностью других ( т.е. инженеров Novell/SUSE )
Надеюсь понимаешь, что если бы не ковырялся в /etc/crontab, то так всё и было бы. Добавлено @ 11:28
в принципе, на основе системной таблицы крон по-умолчанию, твой скрипт будет запускаться вместе со всеми другими системными сценариями/программами в /etc/cron.daily ( в зависимости от порядка запуска - алфавитного порядка ). идентично Ред-Хапу. А если тебе нужно запускать твою или (только твою) программу в другой час, то редактировать нужно либо личную таблицу пользователя root ( crontab -e) , либо в таблице /etc/crontab но писать нужно отдельную строку Посмотри FAQ. пока. |
| Автор: bam00 9.1.2007, 13:09 |
| Мне кажется, что каталоги cron.daily и т.п. задумывались, чтобы положил туда, и ни о чем голова не болит. В RedHat9 по крайней мере так и было (непонятно, чем руководствовались suse-исты, когда это переделывали, а именно, то что время запуска cron.daily не постоянно. Оно слетает на время последней перегрузки, что не очень удобно с моей личной некомпетентной точки зрения). |
| Автор: nickless 9.1.2007, 19:22 | ||
Потому, что у тебя изменён crontab, и вряд ли это сделано намерянно кем-то из SuSE, чтобы тебе насолить. На предыдущей странице bilbobagginz запостил crontab, скопируй его себе и будет тебе счастье. |
| Автор: powerfox 9.1.2007, 21:26 |
| bam00, в SUSE надо любые изменения надо делать через YAST. Там есть редактор конфигов и всякая фигня для настройки демонов. Прикол в том, что в целях повышения безопасности, все изменения, сделанные вручную, аннулируются после перезагрузки. |
| Автор: bilbobagginz 9.1.2007, 22:24 | ||||
время запуска первого скрипта в /etc/cron.daily на SUSE постоянно. Если (напр.) первый скрипт начинает запускаться в 17:00, и бежит 10 минут, то, следовательно следующий скрипт запустится в 17:10. Отсюда и танцуем: даём какие-то пронумерованные названия скриптам в этой папке, и ставим первыми те, которые должны бежать ближе к 17:00. Если и это не устраивает - редактируем в ручную свой крон-таб. Если тебе понятнее чтение кода, посмотри какой скрипт мой кронтаб пытается запустить. открой скрипт в редакторе, и посмотри что он делает. А вообще крон никогда не обязывался запускать программы точно в назначенное время. Также, если очень важный сценарий должен запускаться в 18:00, но в 17:55 компьютер выключили, то скрипт не запустился. Если этот скрипт можно запустить позже - для этого есть anacron. мне всё-таки кажется, что это неоправданное высокомерие нужно потушить чтением инструкции по эксплуатации данной системы. многие, кажущиеся странными на первый взгляд вещи вдруг встанут на свои места. Вам бы РТФМ не мешает сделать, батенька. а для опровержения своих слов, сделай элементарный скрипт, запускающий команду date, и запиши его первым в /etc/cron.daily (т.е. дай ему название напр. aaadate) , и удивишься, но время будет очень точно совпадать с тем, на которое всё прописано.
нужно знать какие изменения сохраняются, и какие файлы нужно менять. в SUSE есть несколько странностей, но контроль над системой - не один из них. Повторяюсь: SUSE - очень грамотно собранный дистрибутив, некий гибрид между Слэквером и РедХатом. |
| Автор: bilbobagginz 10.1.2007, 00:54 | ||
да, но не все она реставрирует. |