Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Отсутствует файл crontab для пользователя root. Как его создать? (РЕШЕНО)  (Прочитано 33240 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн DDDstart

  • Автор темы
  • Участник
  • *
  • Сообщений: 197
  • Linux создан для сети, как птица для полета
    • Просмотр профиля
Хочу проверить работоспособность cron
Написал скрипт.

#!/bin/bash
#test_cron
touch /home/1111111111111

положил его в /home/ddd/skripts/test_cron, сделал исполняемым

В cron.d поместил файлик test следующего содержания
#test
1 * * * * root /home/ddd/skripts/test_cron
Тоже сделал его исполняемым

рестартую сервис crond, жду минуту и вуаля, в /home/ файлика 1111111111111 не появляется.

Начинаю разбираться, в чем причина:
[root@proxi_GU_RO cron.d]# crontab -l
no crontab for root

Лезу в /etc/var/spool/cron и ничего кроме файлика -.sock там не обнаруживаю.

Вот, собственно и весь вопрос.
Отсутствует файл crontab для пользователя root. Как его создать?

Так не получается:
[root@proxi_GU_RO cron]# crontab -u root root_cron
root_cron: No such file or directory
« Последнее редактирование: 22 Сентября 2010, 17:21:19 от DDDstart »
Неверующие остаются неверующими только до момента своей смерти

Оффлайн dieselist

  • Активист
  • *
  • Сообщений: 525
    • Просмотр профиля
    • diesel.pp.ua
crontab -e. это для редактирования рутового кронтаба.
а чего ты минуту ждал-то? твое задание будет раз в час выполняться, в первую минуту :)
если хочешь каждую минуту - надо */1 делать.
Ubuntu, Gentoo, RHEL, AIX

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
crontab -e. это для редактирования рутового кронтаба.
Это для редактирования кронтаба текущего пользователя. Для редактирования рутового sudo crontab -e. Любимый редактор можно подставить, например запустив как sudo EDITOR="gedit" crontab -e

Пользователь решил продолжить мысль 22 Сентября 2010, 16:17:18:
Для редактирования кронтаба любого другого пользователя:
sudo crontab -eu user_name
« Последнее редактирование: 22 Сентября 2010, 16:17:18 от Mam(O)n »

Оффлайн dieselist

  • Активист
  • *
  • Сообщений: 525
    • Просмотр профиля
    • diesel.pp.ua
crontab -e. это для редактирования рутового кронтаба.
Это для редактирования кронтаба текущего пользователя. Для редактирования рутового sudo crontab -e. Любимый редактор можно подставить, например запустив как sudo EDITOR="gedit" crontab -e

Судя по тому что писал DDDstart, он как раз под рутом и работает. Из этого и исходил.
Ubuntu, Gentoo, RHEL, AIX

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Судя по тому что писал DDDstart, он как раз под рутом и работает. Из этого и исходил.

Старая программистская присказка гласит:
Цитировать
Буратине дали три яблока. Два он съел. Сколько яблок осталось у Буратины? Думаете — одно? Ничего подобного. Никто же не знает — сколько у него уже было яблок до этого. Мораль — обнуляйте переменные!

Всегда неявные условия следует уточнять, и тогда меньше будет буратин, не понимающих суть происходящего...

Оффлайн DDDstart

  • Автор темы
  • Участник
  • *
  • Сообщений: 197
  • Linux создан для сети, как птица для полета
    • Просмотр профиля
Выполнил:
# EDITOR=mcedit crontab -e
no crontab for root - using an empty one

crontab: installing new crontab
"/tmp/.private/root/crontab.INrs3G":7: premature EOF
errors in crontab file, can't install.
Do you want to retry the same edit? n
crontab: edits left in /tmp/.private/root/crontab.INrs3G

В итоге файл crontab сохраняется в tmp/.private/root/crontab.INrs3G
 Мне его переименовать в crontab и заменить тот crontab, что лежит в /etc?
Неверующие остаются неверующими только до момента своей смерти

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
НЕТ! Это он говорит то, что у тебя ошибка в файле, нет перевода строки в конце! По этому он и не дает сохранить правку!

Пользователь решил продолжить мысль 22 Сентября 2010, 17:08:27:
И да, если правишь пользовательские кронтабы, то имя пользователя в заданиях уже не надо указывать...
« Последнее редактирование: 22 Сентября 2010, 17:08:27 от Mam(O)n »

Оффлайн DDDstart

  • Автор темы
  • Участник
  • *
  • Сообщений: 197
  • Linux создан для сети, как птица для полета
    • Просмотр профиля
Заработало.
Действительно, перевода коретки не было.
Кто бы знал.
Теперь, когда есть уверенность, что простое работает, можно строить сложные скрипты по расписаниям
Спасибо всем!
Неверующие остаются неверующими только до момента своей смерти

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
EOF это аббревиатура от end of file, а premature переводится, как преждевременный.

Перевод строки в конце файла необходим для того, чтобы оградить от возможного оборванного (например в следствии ошибки передачи) файла и предотвратить исполнение не полностью указанной команды, что может быть черевато при исполнении из под рута... Например эрэм эрэф /home/и_тут_обрыв....

Оффлайн DDDstart

  • Автор темы
  • Участник
  • *
  • Сообщений: 197
  • Linux создан для сети, как птица для полета
    • Просмотр профиля
Например эрэм эрэф /home/и_тут_обрыв....
Кстати, очень показательный пример
Неверующие остаются неверующими только до момента своей смерти

Оффлайн zosim

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
    • vovaizangarska
Не могу создать кронтаб файл.
Маны  прочитал.

Пробовал всякие команды.
Пишет вопрос "?" все время
Может кто подскажет что еще почитать?

Цитировать
vovaizangarska@ubuntu260410:~$ crontab -e
no crontab for vovaizangarska - using an empty one
29
1
# m h  dom mon dow   command
30 23 * * * totem /hom/home/vovaizangarska/Музыка/Louis Armstrong/06.wma    
?

Оффлайн DDDstart

  • Автор темы
  • Участник
  • *
  • Сообщений: 197
  • Linux создан для сети, как птица для полета
    • Просмотр профиля
Загляните в /var/spool/cron. Там создавать нужно.
Если для рута, то будет называться root
Можно с помощью МС создать, только в конце файла обязательно возврат каретки (enter нажать) нужно сделать и сохранить
Неверующие остаются неверующими только до момента своей смерти

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
zosim, ты с текстовым редактором что ли не смог совладать? Тогда запускай редактор такой командой:
EDITOR=gedit crontab -eи файл откроется в простом гуёвом текстовом редакторе.

Оффлайн zosim

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
    • vovaizangarska
выполните команду crontab -e. Вы окажетесь в текстовом редакторе vi  :idiot2:
Теперь понятно.
Файл создал в каталоге /etc/var/spool/cron/crontabs
назвал именем пользователя  "vovaizangarska"

Тока он, гадюка, не хочет запускаться!?

Если команду самостоятельно вставить в терминале, то работает.
А по расписанию - не хочет. :idiot2:
Mожет надо как-то активизировать этого демона cron ?

Цитировать
vovaizangarska@ubuntu260410:~$ crontab -l

*/2 * * * * totem /home/vovaizangarska/Музыка/Louis\ Armstrong/06.wma
 


зы
Ubuntu 9.10
Noutbook MaxSelekt

Попробовал еще вставил свою строчку
Цитировать
*/2 * * * * totem /home/vovaizangarska/Музыка/Louis\ Armstrong/06.wma
  в файл /etc/crontab

Все равно никак не получается использовать cron в качестве планировщика заданий.

Может быть проблема в файлах cron.allow end cron.deny

Не могу их найти.
« Последнее редактирование: 18 Октября 2010, 19:15:10 от zosim »

 

Страница сгенерирована за 0.03 секунд. Запросов: 24.