Система SuSe Linux. У нее есть особенность - для cron'а есть папки cron.daily, cron.hourly и так далее. То есть можно не править crontab а просто кидать скрипт в эти папки и он будет выполняться.
так вот я написал небольшой скрипт для синхронизации с сервером времени - cron_ntp:SHELL=/bin/sh
MAILTO=root59 * * * * root ntpdate 192.168.3.2
Вроде все верно - только в логах появилось -
Oct 5 06:59:00 syslog /USR/SBIN/CRON[23171]: (root) CMD ( rm -f /var/spool/cron/lastrun/cron.hourly)
Oct 5 07:00:00 syslog run-crons[23177]: cron_ntp returned 127
Oct 5 07:59:00 syslog /USR/SBIN/CRON[24434]: (root) CMD ( rm -f /var/spool/cron/lastrun/cron.hourly)
Oct 5 08:00:00 syslog run-crons[24440]: cron_ntp returned 127
и так далее и тому подобное!И я никак не могу понять(а главно в инете неигде нет сведений) 127 - это ошибка?
Или что это такое? И что это за ошибка?
Ткните меня носом где про это можно почитать!
Или просто скажите где это может быть!Помогите - я уже замучался - все перерыл - нигде нет сведений!
С уважением z3f.
Да совсекм забыл - добавка - я продублировал данный скрипт и он у меня лежит и в папке cron.hourly и в записан напрямую в crontab.
но при удалении из crontab записи ничего не происходит - ошибка в логах все равно выскакивает.Помогите!
С уважением z3f.
>так вот я написал небольшой скрипт для синхронизации с сервером времени -
>cron_ntp:
>
>SHELL=/bin/sh
>MAILTO=root
>
>59 * * * * root ntpdate 192.168.3.2
>Если это Ваш скрипт, то можно за Вас только "порадоваться" и отправить изучать shell и cron вместе взятые.
Крайне информативный ответ....
Спасибо...
Что за ошибка я в принципе уже выяснил - но вполневозможно что это не правильно.Кто нибудь может подсказать что либо более информативное?
>Крайне информативный ответ....
>Спасибо...
>Что за ошибка я в принципе уже выяснил - но вполневозможно что
>это не правильно.
>
>Кто нибудь может подсказать что либо более информативное?да надоело уже, как всегда одно и тоже.
Есть системный crontab в /etc, а есть крон для пользователей - о чем
написано в man'ах и очень хорошо расписано в man 5 crontab - формат
крон-файла и кол-во полей, посмотри внимательно свой, как ты его
создаешь и где он у тебя находится, после этого поймешь про ошибку
в формате (вероятно поле root)
>Крайне информативный ответ....
>Спасибо...
>Что за ошибка я в принципе уже выяснил - но вполневозможно что
>это не правильно.Так поделитесь тем, что Вы выяснили, по Вашей реплике, боюсь, больше сказать не сможет никто. И все же было бы неплохо взглянуть на Ваш скрипт (желательно полностью).
>
>Кто нибудь может подсказать что либо более информативное?
Реплика - умных много, дурак один я...Значит все что я отослал в своем вопросе - так и есть - больше мне отослать было нечего - скрипт я предоставил полностью.
В интенете все что есть по поводу ошибки 127 - касается MySQL, но никак не cron.
To LAVR - формат моего обоср....ого скрипта (непонятно почему - никто не привел пример "правильного" скрипта) правильный потому что он (скрипт) - рабочий.А проблема решалась и была очень простая - у меня на этом сервере не был установлен ntpdate (в общем то говоря просто ntp - небыло).
Дело в том что на одном сервре ntp стоял - а про второй сервер я забыл. и просто на него скинул мой "отвратительный и неправильный" скрипт.
И он стал писать в логи. - я никак не мог понять что это за 127 ошибка.
Методом научного тыка выяснил - что 127 ошибка - общесистемная и относится ко все системе, а не только к cron'у и означает - file not exists. У меня просто на було установленной и прописанной программы ntpdate и потому cron ругался...
Вот такие дела...А все таки - хотелось бы увидеть "правильный" скрипт на синхронизацию времени!
Если не сложно - просветите пожалуйста!С уважением z3f.
>Реплика - умных много, дурак один я...
>
>Значит все что я отослал в своем вопросе - так и есть
>- больше мне отослать было нечего - скрипт я предоставил полностью.
>
>В интенете все что есть по поводу ошибки 127 - касается MySQL,
>но никак не cron.
>To LAVR - формат моего обоср....ого скрипта (непонятно почему - никто не
>привел пример "правильного" скрипта) правильный потому что он (скрипт) - рабочий.
>
>
>А проблема решалась и была очень простая - у меня на этом
>сервере не был установлен ntpdate (в общем то говоря просто ntp
>- небыло).
>Дело в том что на одном сервре ntp стоял - а про
>второй сервер я забыл. и просто на него скинул мой "отвратительный
>и неправильный" скрипт.
>И он стал писать в логи. - я никак не мог понять
>что это за 127 ошибка.
>Методом научного тыка выяснил - что 127 ошибка - общесистемная и относится
>ко все системе, а не только к cron'у и означает -
>file not exists. У меня просто на було установленной и прописанной
>программы ntpdate и потому cron ругался...
>Вот такие дела...
>
>А все таки - хотелось бы увидеть "правильный" скрипт на синхронизацию времени!
>
>Если не сложно - просветите пожалуйста!
>
>С уважением z3f.
Сорри, Вы написали полный бред (без обид). Мой совет: чтение литературы по Unix-системам (по Linux в частности) хотя бы начального уровня. Тогда Вы не будете путать скрипты, программы, crontab'ы и "общесистемные ошибки 127". Еще раз - без обид!
Я и не обижаюсь. просто передо мной лежит
Эви Немет, Гарт Снайдер и др. "UNIX - Руководство системного администратора" изд. Питер 2002 г.
Которой я и руководствовался при написании скрита.
А это (давайте не будем путаться с терминологией) и есть скрипт.
В кронтабе у меня написана точно такая же строчка(на данный момент удалил во избежание дубляжа).
Так что я думаю с этими людми Вам не потягаться и не поспорить...Просто периодически возмущает отношение отвечающих к вопросам!
Ну не все такие умные и просвещенные как Вы, но надо просто потерпимее относится к людям.
Кстати именно к этому и призывал президет после событий в Беслане.
так что - смотрите новости. слушайте президента. возлюбите ближнего своего и посторайте все это сделать в одно флаконе...Удачи.
И все равно - с БОЛЬШИМ уважением к отвечающим z3f.
>Я и не обижаюсь. просто передо мной лежит
>Эви Немет, Гарт Снайдер и др. "UNIX - Руководство системного администратора" изд.
>Питер 2002 г.Это не важно. Твоя главная книга man.
>Которой я и руководствовался при написании скрита.
>А это (давайте не будем путаться с терминологией) и есть скрипт.
>В кронтабе у меня написана точно такая же строчка(на данный момент удалил
>во избежание дубляжа).
>Так что я думаю с этими людми Вам не потягаться и не
>поспорить...Для чего? Я сейчас открыл эту книгу - и не вижу где ты такое прочитал. Поэтому наверное учимся читать и понимать что читаем, а не вступать в полемику.
>
>Просто периодически возмущает отношение отвечающих к вопросам!
>Ну не все такие умные и просвещенные как Вы, но надо просто
>потерпимее относится к людям.
>Кстати именно к этому и призывал президет после событий в Беслане.
>так что - смотрите новости. слушайте президента. возлюбите ближнего своего и посторайте
>все это сделать в одно флаконе...Понимаешь, часто просто человеческая глупость сильно достает. И вот политику тут примещивать не надо.
FYI: у крон читает свой конфиг, который в заданом формате, если ему там скармливается скрипт, то крон запускает тот интерпретатор, который такой скрипт поймет, и к его выполнению никакого отношения не имеет. Все! Остальное твое домашнее задание.
>Я и не обижаюсь. просто передо мной лежит
>Эви Немет, Гарт Снайдер и др. "UNIX - Руководство системного администратора" изд.
>Питер 2002 г.
>Которой я и руководствовался при написании скрита.
>А это (давайте не будем путаться с терминологией) и есть скрипт.
>В кронтабе у меня написана точно такая же строчка(на данный момент удалил
>во избежание дубляжа).
>Так что я думаю с этими людми Вам не потягаться и не
>поспорить...
>
>Просто периодически возмущает отношение отвечающих к вопросам!
>Ну не все такие умные и просвещенные как Вы, но надо просто
>потерпимее относится к людям.
>Кстати именно к этому и призывал президет после событий в Беслане.
>так что - смотрите новости. слушайте президента. возлюбите ближнего своего и посторайте
>все это сделать в одно флаконе...книга - это хорошо, да к ней еще мозги приложить:
man ntpdate (ключ -s для записи логов через syslogd)
[unix1]~ > grep ntpdate /etc/syslog.conf
# ntpdate
!ntpdate
*.* /var/log/ntpdate.log
[unix1]~ >далее выбрать как хочется запускать ntpdate - через системный
/etc/crontab в котором есть дополнительное поле who (от кого пускать)
или пользовательский:[unix1]~ > id
uid=0(root) gid=0(wheel) groups=0(wheel)
[unix1]~ > crontab -e
#
#------------------- /etc/crontab-TABLE --------------------------
#minute hour mday month wday who command
#------------------- USERS CRON-TABLE ----------------------------
#minute hour mday month wday command
#
#--lavr comments: use full-path for command at crontab or set
# environment variables - man 5 crontab
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:$HOME/bin
#minute hour mday month wday command
30 */6 * * * /usr/sbin/ntpdate -s nusun.jinr.ru
#в 30 минут через каждые 6 часов, сие подстроить под себя.
[unix1]~ > tail -1 /var/log/ntpdate.log
Oct 5 16:02:00 unix1 ntpdate[4013]: adjust time server 159.93.19.200 offset -0.004843 sec
[unix1]~ >в man 5 crontab ВСЕ и очень популлярно расписано - указывайте полный
путь к программам или скриптам(внути них тоже полный путь) или
выставляйте в crontab'е нужные переменные среды...Если скрипт или утилита написаны без учета syslog, то необходимо
отвязать их от терминала, для чего перенаправить stderr/stdout
в файл или в /dev/null, например(кусок из /etc/crontab):#
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
HOME=/var/log
#
#minute hour mday month wday who command
#
*/2 * * * * root /sbin/ping -q -c 10 159.93.17.1 >/dev/null 2>&1>Удачи.
>И все равно - с БОЛЬШИМ уважением к отвечающим z3f.
Спасибо!С уважением z3f.
>Спасибо!
>
>С уважением z3f.
Рано я закончил тред.=(
Ошибку то я исправил - но cat /var/log/messages |grep cron перестал после долгих перетрубация писать вообще что либо!
То есть после того как все исправил - в логах ничего нет!
смотрю ps -aux |grep cron - вроде cron работает. а вот в логах ничего нет. из-за чего это может быть?
Куда крон стал писать логи?
запись в кронтабе :
59 * * * * root /usr/sbin/ntpdate 192.168.3.2-s убрал 2 часа назад - но ничего не изменилось...
Где рыть7
Где я напортачил?
>>Спасибо!
>>
>>С уважением z3f.
>
>
>Рано я закончил тред.=(
>Ошибку то я исправил - но cat /var/log/messages |grep cron перестал после
>долгих перетрубация писать вообще что либо!
>То есть после того как все исправил - в логах ничего нет!
>
>смотрю ps -aux |grep cron - вроде cron работает. а вот в
>логах ничего нет. из-за чего это может быть?
>Куда крон стал писать логи?
>запись в кронтабе :
>59 * * * * root /usr/sbin/ntpdate 192.168.3.2
>
>-s убрал 2 часа назад - но ничего не изменилось...
>Где рыть7
>Где я напортачил?бог мой, откуда такие берутся?
1) РУССКИМ ЯЗЫКОМ написал НЕПРАВИЛЬНО запускать программы из CRONTAB
без перенаправления stdout/stderr в лог-файл, можно огрести проблемы.убрал -s, добавь: >/var/tmp/ntpdate.log 2>&1
2) grep cron /etc/syslog.conf
короче - учите матчасть.
>бог мой, откуда такие берутся?
>
>1) РУССКИМ ЯЗЫКОМ написал НЕПРАВИЛЬНО запускать программы из CRONTAB
>без перенаправления stdout/stderr в лог-файл, можно огрести проблемы.
>убрал -s, добавь: >/var/tmp/ntpdate.log 2>&1
>2) grep cron /etc/syslog.conf
>короче - учите матчасть.Не - ну я скорее всего тупой (от этого никуда уже не деться) но проблема так и висит.
И все-таки - помогите! не отворачивайтесь!строка из кронтаб -
59 * * * * root /usr/sbin/ntpdate 192.168.3.2 >/var/tmp/ntpdate.log 2>&1
правильно? или все таки я неправльно пользуюсь copy+paste???
если правильно тогда - почему крон не вносит в логи ничего?
может быть cron упал?
смотрю по ps -aux |grep cron (правльно смотрю?)- он на месте!
файл /var/tmp/ntpdate.log - не организуюется! остальные логи тоже молчат по поводу cron'a!и что такие и что делать?
lavr - ну доведи до конца!С уважением z3f.
>>бог мой, откуда такие берутся?
>>
>>1) РУССКИМ ЯЗЫКОМ написал НЕПРАВИЛЬНО запускать программы из CRONTAB
>>без перенаправления stdout/stderr в лог-файл, можно огрести проблемы.
>>убрал -s, добавь: >/var/tmp/ntpdate.log 2>&1
>>2) grep cron /etc/syslog.conf
>>короче - учите матчасть.
>
>Не - ну я скорее всего тупой (от этого никуда уже не
>деться) но проблема так и висит.
>И все-таки - помогите! не отворачивайтесь!
>
>строка из кронтаб -
>59 * * * * root /usr/sbin/ntpdate 192.168.3.2 >/var/tmp/ntpdate.log 2>&1
>правильно? или все таки я неправльно пользуюсь copy+paste???
>если правильно тогда - почему крон не вносит в логи ничего?
>может быть cron упал?
>смотрю по ps -aux |grep cron (правльно смотрю?)- он на месте!
>файл /var/tmp/ntpdate.log - не организуюется! остальные логи тоже молчат по поводу cron'a!
>
>
>и что такие и что делать?
>lavr - ну доведи до конца!
>
>С уважением z3f.Еще раз, общие проблемы и ошибки при работе с CRON демоном:
- есть СИСТЕМНЫЙ /etc/crontab и от пользовательских, включая пользователя
root, он отличается ОДНИМ дополнительным полем в котором указывается
ВЛАДЕЛЕЦ запуска:----------------------- /etc/crontab --------------------------------
#--lavr SYSTEM crontab
#
#--lavr ENVIRONMENT
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
HOME=/var/log
#
#minute hour mday month wday WHO command
#
*/5 * * * * root /usr/libexec/atrun
#
...
#--lavr this is comment
--------------------------------------------------------------------Системный /etc/crontab редактируется ОБЫЧНЫМ образом - любым редактором
Пользовательские файлы шедулера(расписания), создаются командой:
# crontab -e
# /etc/crontab - root's crontab for FreeBSD
#
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:$HOME/bin
#
#minute hour mday month wday command
#
#*/1 * * * * $HOME/bin/cro
#50 * * * * /sbin/mount -r /dev/ad0s1e/mnt/tmp
#55 * * * * /sbin/umount /dev/ad0s1e /mnt/tmpв этом файле НЕТ поля WHO: man crontab
Пользовательские файлы расписания создаются: man cron - обычно в
/var/cron/tabs - месторасположения (полный путь) заивисит от OS.В расписаниях созданных командной crontab - 6'ть полей:
минуты, часы, день_месяца, месяц, день_недели и последнее поле - команда
с параметрами.Файл расписания созданный командой crontab -e в дополнение к командам
расписания, может содержать настройки среды: SHELL, PATH, MAILTO и тд и тп
- см. man 5 crontab.Наиболее распространенные ошибки:
- отсутствие настроек среды:
SHELL - каким интерпретатором запускается скрипт
или команда (указанный SHELL должен присутствовать в системе);
PATH - переменная в которой указывается порядок просмотра директорий
для поиска в них исполняемых команд;
MAILTO - переменная указывающая КОМУ будет высылаться MAIL о выполнении
расписания:
MAILTO="" - означает отменить MAIL, если данная переменная НЕ УКАЗАНА
в расписании, cron будет by default отсылать MAIL владельцу расписания- в файл расписания добавлена команда ПОСЛЕДНЕЙ строкой - она не выполняется, добавить после нее ПУСТУЮ СТРОКУ
- крайне не рекомендуется выполнение по расписанию команды у которой
имеется вывод на stdout, желательно все команды запускать с перенаправлением stderr/stdout в файл или в /dev/null. Формат
перенапаравления зависит от выбранного SHELL'а, для Bourn-Shell (sh)
и bash:* * * * * /path/command >/path/name.log 2>&1
или
* * * * * /path/command >/dev/null 2>&1последний пример перенаправляет логи и ошибки в /dev/null если они
нам НЕ НУЖНЫ.Если команда или утилита написана с поддержкой вызова syslog или записи
в лог-файл, эта реализация может быть выполнена двояко:
- утилита САМА создает лог-файл
- утилита требует ПРЕДВАРИТЕЛЬНОГО создания лог-файла
НЕ ВСЕГДА об этом сказано в MAN, если есть возможность посмотреть
sources - смотрим, если нет такой возможности - смотрим логи cron'а
и создать самостоятельно.
Если поддерживается syslog - man syslog.conf, вставляем нужную строку
для логгирования и выдаем сигнал HUP демону syslogd чтобы он перечитал
изменения файла настроек /etc/syslog.conf:kill -HUP pid_syslogd (где pid_syslogd - номер процесса syslogd:
ps -axuww | grep syslogd)Снова вернемся к среде и переменной PATH, ниже два варианта crontab:
------------------ crontab without env -------------------------
#
* * * * * command
* * * * * script
#
----------------------------------------------------------------переменная PATH не задана и не задан ПОЛНЫЙ ПУТЬ к command и script
- ошибка, они не будут найдены и выполнены------------------ crontab without env -------------------------
#
* * * * * /path/command
* * * * * /path/script
#
----------------------------------------------------------------а вот так они будут выполнены, внутри /path/script тоже далжны быть
полные пути к командам и утилитам------------------ crontab with env ----------------------------
#
SHELL=/bin/sh
PATH=$HOME/bin:$HOME/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin
#
* * * * * command
* * * * * script
#
----------------------------------------------------------------выше использование переменных среды для поиска команд, утилит.
Логи:
[alone]~ > grep cron /etc/syslog.conf
cron.* /var/log/cron
[alone]~ >выше видим что работа cron демона логгируется в файл /var/log/cron
проблемы и диагностику cron демона наблюдаем через этот файл.Пример с ntpdate: можно запустить со своим лог-файлом, а можно
воспользоваться опцией -s самой утилиты ntpdate:свой лог (ниже пользовательский crontab):
#
...
* * * * * /usr/sbin/ntpdate ip.add.re.ss >>/var/tmp/ntpdate.log 2>&1
...
#использование syslog:
- вносим изменения в /etc/syslog.conf:
...
# ntpdate
!ntpdate
*.* /var/log/ntpdate.log
#- создаем лог-файл с учетом прав владельца запуска и владельца директорий
куда будеи записан лог-файл (данный пример для пользователя root)touch /var/log/ntpdate.log
- выдаем сигнал HUP демону syslogd чтобы он перечитал конфигурацию
Смотрим логи и проверяем.
PS. "* * * * *" в приведенных выше примерах в файлах crontab заменить
своими реальными значениями.
PPS. Все вышеизложенное написано с листа и без проверки на ошибки или
очепятки.
Уважаемый, z3f!
Прошу извинить что не по теме, влез, но
дело как бы срочное. В январе Вы поднимали вопрос
"Помогите установить принтер под FreeBSD 4.7!!!"
и тем самым притером был HP LaserJet 1015, с
которым я и имею в данный момент проблемы.
Буду признателен за помощь в вопросе:
"Установка HP LaserJet 1015(LPT) под FreeBSD-5.2.1"
в этой же конференции немного выше.С уважением, Breg!
>Уважаемый, z3f!
>Прошу извинить что не по теме, влез, но
>дело как бы срочное. В январе Вы поднимали вопрос
>"Помогите установить принтер под FreeBSD 4.7!!!"
>и тем самым притером был HP LaserJet 1015, с
>которым я и имею в данный момент проблемы.
>Буду признателен за помощь в вопросе:
>"Установка HP LaserJet 1015(LPT) под FreeBSD-5.2.1"
>в этой же конференции немного выше.
>
>С уважением, Breg!Еще раз извените, но ситуация тупиковая хочу процетировать
Ваш тред, может он Вам что-то напомнит.
Прошу обратить внимание на предложение выделенное иксами.---------------ЦИТИРУЮ------------------------------------
"Помогите установить принтер под FreeBSD 4.7!!!"
Отправлено z3f , 17-Янв-04 15:04Не могу расшарить принтер!
Стоит FreeBSD 4.7, Samba 2.28, HP LaserJet 1015 (с LPT портом).
Конфиг Самбы:
[global]
printcap name = /etc/printcap
printer = lj1_raw
printing = bsd
load printers = yes
security = SHARE
postscript = yes
[laserjet]
use client driver = Yes
printable = yes
default devmode = Yes
guest ok = Yes
postscript = Yes
printer name = laserjetЕссесно - это не полный конфиг самбы - а только то что касается принтера.
файл /etc/printcap
lj1_raw|raw1:lf=/usr/spool/lpd/laserjet.log:mx#0:sd=/usr/spool/lpd/laserjet:lp=/dev/lpt0:
на спул правльно выставлены пермишенны - владелец - daemon и группа daemon с правами 666.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Проблдема в следующем - локально когда отправлю на печать (example - lpr /etc/printcap) - печатает.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Когда пытаюсь расшарить через самбы - на экране появляется надпись
smbd / postscript option is depricated.
смотрел http://h20015.www2.hp.com/hub_search/document.jhtml;jsession...
(там сносочка - Configuring print queues for BSD-based systems) родную ссылку от HP - не помогает!
Выполнил все так как там написано - тишина по сети!В чем может быть ошибка? и как вообще устанавливаются лазерные принтеры?
с уважением z3f.
А то что в треде было - не помогло?
Там и ссылочка на статью была.
Там есть полностью все настройки.
Проблема в том что с локального места на фряхе не печается ничего(в смысле выползают чистые листы)?
Или все таки английский текст печатается?
Из-под иксов или с консоли?