Мой cronjob не работает в Ubuntu Server 18.04. Кто-нибудь может мне помочь? Вот мой код cron:
#This code doesn't run
* * * * * root sh /home/jaka/scripts/serviceChecker.sh
#I have try this below but doesn't work too
* * * * * /home/jaka/sripts/serviceChecker.sh
#I have try the code below but also doesn't work
* * * * * sh /home/jaka/scripts/serviceChecker.sh
serviceCheker.sh является исполняемым и успешным. Но когда я пытаюсь использовать это с cronjob, это не работает.
Вот код serviceChecker.sh:
#This code below is successful
dateTime=$(date +"%A, %b %d, %Y %H:%M:%S")
if ps ax | grep -v grep | grep mysql > /dev/null
then
echo "$dateTime MySql is running" >> logServiceStatus.txt
else
echo "$dateTime MySql is stopped" >> logServiceStatus.txt
sudo /opt/lampp/lampp startmysql
echo "$dateTime Mysql is running again" >> logServiceStatu.txt
#.................................(And so on)
Я надеюсь, что кто-то может мне помочь или дать мне ответ.
Я решил эту проблему.
Так, serviceChecker.sh, имеют команду sudo, и проблемой является crontab, не может, прося у пароля sudo., когда Вы делаете журнал для этого .sh файлами, это пишет:
sudo: no tty present and no askpass program specified
я фиксирую, это дает пользователю (имя пользователя является jaka), разрешение выполнить его, не спрашивая sudo пароль. Как сделать это? Вот шаг:
sudo visudo
затем ниже #includedir/etc/sudoers.d пишут это:
#includedir /etc/sudoers.d
username ALL=(ALL) NOPASSWD:ALL
пример
#includedir /etc/sudoers.d
jaka ALL=(ALL) NOPASSWD:ALL
его sudo cronjob's желания без входного пароля.