Crontab — simple echo not running
I’ve got such situation: I want to schedule a job with crontab on a linux server. I’m not super-user, so I’m editing (with crontab -l, editor vim) only my crontab file. For testing, I put there:
And the job is not running. Is the restart of the server needed? Or maybe some administrator move?
3 Answers 3
May be it is, cron jobs will run in their own shell. So you can’t expect to see asdf on your console.
What you should try is
Next check the file by doing a tail:
And if it’s not, check if the cron daemon itself is running or is down:
For me * * * * * /bin/echo text > file is not working. I don’t know why, previleges and everything is set. (This command is running normaly when I execute it as the particular root user, just to clarify this.) This can be solved by injecting the path PATH=$PATH:/bin in my example.
Instead * * * * * echo text > file is working fine, probably path issue.
If you want to echo something on your shell you could use wall:
These two lines basically do the same, just choose your favorite.
Btw, be aware that wall will send your message to every user currently connected.
Not the answer you’re looking for? Browse other questions tagged linux cron scheduling or ask your own question.
Linked
Related
Hot Network Questions
Subscribe to RSS
To subscribe to this RSS feed, copy and paste this URL into your RSS reader.
site design / logo © 2021 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2021.10.19.40496
By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.
Источник
Как передать задачу в cron из скрипта?
Здравствуйте!
Задача такая. Есть определенный скрипт.
Одной из его задач является добавление в cron задания
Перед написанием этой строки решил потестить и выявил следующее.
Если задачу в cron добавить таким образом, то затираются предыдущие, что в принципе и логично, но задача выполняется по указанному промежутку (каждую минуту):
Если же добавлять таким образом, то задача добавляется в конец файла с задачами, но. не выполняется вообще:
Подскажите, где я делаю не так?
Во втором варианте после добавления пробовал перезапустить cron, но не работает(
- Вопрос задан более года назад
- 1614 просмотров
Никогда не задумывались, почему в документации сказано — не правьте напрямую юзерские файлы кронтаба?
Подскажу — если за /etc/crontab демон следит постоянно и при его изменении перечитывает, то за юзерскими файлами никто не следит. И команду на их перечитывание дает та самая команда crontab -e
А Ivan Yakushenko вам уже правильный вариант дал.
Еще есть /etc/cron.d/ каталог. Любой файл, добавленный туда — рассматривается как дополнительное расписание. Это было сделано специально под пакетные менеджеры, чтобы не править единственный /etc/crontab при установке\добавлении пакетов.
Если ты так добавляешь задание и при этом до этого момента ни разу и никогда задание в cron не добавлялось, то файлик этот будет просто с оной записью, но без атрибутов и он не выполняется в последствии планировщиком. Т.е. файл мёртвый!
Правильно надо так:
Почему с sudo?
Таким образом задание пишется в /var/spool/cron/crontabs/root
А если без sudo, то в /var/spool/cron/crontabs/твоё_имя_пользователя_в_системе
А если уже добавлялось, или, вручную, через редактор командой sudo crontab -e, или, как выше я описываю, то после первого такого добавления уже можно добавлять задание командой правильно так:
Но в этом случае обязательно перезагрузить планировщик командной:
sudo /etc/init.d/cron restart
Иначе задание не будет работать.
Или добавляй всё руками через редактор:
sudo crontab -e
Сохраняешь, выходишь и всё сразу готово к употреблению!
Источник
Cron echo не работает
/var/spool/cron/crontabs/root :
* * * * * root echo test.
Крон запущен.
Я работаю под рутом.
Каждую мин. должно на консоль выводить test.
Не работает. ((.
Оглавление |
|
Сообщения по теме | [Сортировка по времени | RSS] |
1. «Проблема с cron ом» | |
Сообщение от user | |
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору |
2. «Проблема с cron ом» | |
Сообщение от user | |
| |
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору |
3. «Проблема с cron ом» | |
Сообщение от lux.place | |
| |
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору |
4. «Проблема с cron ом» | |
Сообщение от BuTaJIuK | |
Во первых — crontab -e | |
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору |
5. «Проблема с cron ом» | |
Сообщение от BuTaJIuK | |
Правил — crontab -e | |
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору |
6. «Проблема с cron ом» | |
Сообщение от los | |
Смотри свою локальную почту. Там и будет вывод всего, что могло выводиться скриптом через cron. | |
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору |
7. «Проблема с cron ом» | |
Сообщение от hex | |
| |
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору |
8. «Проблема с cron ом» | |
Сообщение от BuTaJIuK | |
Странно нашел конфиг crontab-а в /etc и поправил его, и заработало )). Но crontab -e из командной строки правит конфиг кот. находится по пути : /var/spool/cron/crontab. В чем тут загвоздка ? Не понятно. | |
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору |
9. «Проблема с cron ом» | |
Сообщение от user | |
Загвоздка тут именно в том что я спрашивал. Возможно неправильно задал вопрос. То что ты попроавил файл в папке /етс есть не совсем правильно. В мане написано что не рекомендуется его трогать и как раз для этого дают возможность делать свой файл крона. Различие между эти файлами состоит в том что в файле /etc/crontab выставляется имя пользователя с правами которого будет запускаться скрипт/программа/т.д. А в файлах которые создаются для отдельного пользователя необходимости указывать имя пользователся нет, так как этот файл уже создаётся под конкретного пользователя. По-поводу того что нужно правильно задать переменную PATH это точно, были грабли. Тут чтобы избежать ошибки стоит скопировать содержимое переменной PATH из /etc/crontab ну и добавить своего по вкусу 🙂 , собсно ту директорию откуда ты хочешь запускать какие-то скрипты(допустим домашний бин /home/user/bin). Рестарт думаю стоит сделать, хотя по идее крон каждую минуту перечитывает свои файлы конфигурации. А вообще man твой лучший друг и советчик 🙂 , так что man cron и man crontab. | |
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору |
10 . «Проблема с cron ом» | |
Сообщение от hex | |
| |
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору |
11 . «Проблема с cron ом» | |
Сообщение от hex | |
| |
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору |
12 . «Проблема с cron ом» | |
Сообщение от yankee | |
если получится — с момента «Иначе» — поподробней. | |
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору |
13 . «Проблема с cron ом» | |
Сообщение от lux.place | |
Иначе — копаться. Я в rhel4 натыкался на странные забавы. Крон от пользователей начинал работать только через несколько перезапусков сервиса. Но после этого уже работал как часы. Источник |