Crontab, не работающий в Ubuntu 10.04

Я установил его в машине на работе, и это не сделает ничего, независимо от того, что я сделал. Таким образом, теперь у меня есть он на virtualbox дома, и это также не работает. Вот то, что я пытаюсь сделать:

Имейте файл на/home/john/Desktop, названном test.sh. Его содержание:

#!/bin/bash
повторите "Bing!">/tmp/cronjob

Сделали a chmod 777 test.sh и может выполнить его. Список его показывает как rwx для пользователей/группы/глобальных. Затем я делаю a crontab -e и добавьте следующую строку:

* * * * * john /home/john/Desktop/test.sh

Но это не работает. Файл никогда не пишется. Я также попытался использовать определенное время (например, это - 21:00, таким образом, я установил час на 05 21 и ожидаю), но это не работает также. Я также судил без пользователя "Джона" в crontab, но провал. Я пытался использовать crontab -e -u john также. Ничто не работает.

Выполнение a service cron status Я получаю это, это запускается/выполняется. Я попытался перезапустить его также.

Что я делаю неправильно?

Кроме того, если я должен выполнить некоторые команды как корень, я, как предполагается, использую его с crontab -e -u <username> right?

2
задан 30.07.2010, 03:17

3 ответа

Только быть уверенным:

crontab-e

затем

30 21 * * */home/john/Desktop/test.sh

Править: Я подразумеваю, что Вам не нужен никакой "Джон" около раздела времени крона и пути к команде.

2
ответ дан 08.12.2019, 05:54

Существует три различных способа использовать крон.

  1. Помещая сценарии в/etc/cron.hourly,/etc/cron.daily,/etc/cron.weekly или/etc/cron.monthly папки
    Система затем выполнит тех, которые в запланированное время с полномочиями пользователя root
  2. Редактирование/etc/crontab
    Это берет синтаксис как тот, который Вы пытались использовать в crontab-e, потому что здесь можно указать, какой пользователь должен быть ответственен за запланированное задание, в случае, Джоне.
  3. Команда crontab, которая сохраняет вкладку крона для пользователя, который сделал задание в/var/spool/cron/crontabs

При использовании третьего метода Вы не должны говорить ему, что Вы - Джон, он уже знает. Можно однако сказать этому с флагом-u сохранять рабочее место в ком-то elses вкладка крона.
Используя третий метод, у Вас не должно быть Джона в * * * * * john /home/john/Desktop/test.sh

2
ответ дан 08.12.2019, 05:54
* * * * * john /home/john/Desktop/test.sh

"Джон" здесь неправ. Только система crontab имеет поле имени пользователя; crontabs в расчете на пользователя, который Вы редактируете с crontab-e, не имеет его (пользователь неявен). Просто пропустите его.

Кроме того, если я должен выполнить некоторые команды как корень, я, как предполагается, использую его с crontab-e-u право?

Нет, если Вы хотите, чтобы cronjob работал с корневыми правами, просто делают

sudo crontab -e

(или помещенный это в систему crontab, с именем пользователя "корень").

1
ответ дан 08.12.2019, 05:54

Теги

Похожие вопросы