Я установил его в машине на работе, и это не сделает ничего, независимо от того, что я сделал. Таким образом, теперь у меня есть он на 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
?
Существует три различных способа использовать крон.
При использовании третьего метода Вы не должны говорить ему, что Вы - Джон, он уже знает. Можно однако сказать этому с флагом-u сохранять рабочее место в ком-то elses вкладка крона.
Используя третий метод, у Вас не должно быть Джона в * * * * * john /home/john/Desktop/test.sh
* * * * * john /home/john/Desktop/test.sh
"Джон" здесь неправ. Только система crontab имеет поле имени пользователя; crontabs в расчете на пользователя, который Вы редактируете с crontab-e, не имеет его (пользователь неявен). Просто пропустите его.
Кроме того, если я должен выполнить некоторые команды как корень, я, как предполагается, использую его с crontab-e-u право?
Нет, если Вы хотите, чтобы cronjob работал с корневыми правами, просто делают
sudo crontab -e
(или помещенный это в систему crontab, с именем пользователя "корень").