привычка задания крона выполняется

Я пытаюсь выполнить свое задание крона с моим пользователем (пользователь).

Задание крона не имеет никакой проблемы при установке и работ сценария, если я просто выполняю его. Это - исполняемый файл, и я имею bash флаг для указания на это является сценарием удара.

Я создал сценарий путем выполнения crontab -e зарегистрированный как user.

Для тестирования я запущу этот скрипт каждая минута, но в конечном счете изменю его на 10 минут.

мой cronjob должен запустить мой скрипт, который ping гуглит сервер каждые 10 минут и создает журнал его так, я могу знать, теряют ли мои устройства когда-нибудь интернет-соединение для отслеживания проблемы. У меня есть другой сценарий, который перемещает файл журнала каждый день и затем регистрирует его с датой, и затем этот сценарий должен создать другой файл журнала. в настоящее время это не делает файл с этим cronjob или обновляет файл, после того как я запускаю скрипт.

мой cronjob

*/1 * * * * bash /home/user/ping_scripts/ping-test.sh

мой сценарий

#!/bin/bash

if [ "$(id -u)" != "0" ]; then
  exec sudo "$0" "$@"
fi

if [ ! -e /var/log/ping.log ];then
    touch /var/log/ping.log
fi

ping -q -c5 google.com > /dev/null

if [ $? -eq 0 ];then
     echo -e "[$(date)] \t\t google ping successful" >> /var/log/ping.log
else
    echo -e "[$(date)] \t\t google ping failed" >> /var/log/ping.log
fi

Я считал несколько других решений на, но не зафиксировал мою ошибку.

(Я наклоняюсь, описывают, как мое сообщение отличается кроме него, просто вопрос, тот, на который я не мог найти ответ при прохождении через, Почему crontab сценарии не работают? который является для уникальных ошибок к крону, и решение не было действительно уникально для крона конкретно. это имело отношение больше к моему сценарию. Для получения ответа, просто обратитесь к помеченному ответу ниже.)

1
задан 27 February 2018 в 22:52

2 ответа

Моя проблема состояла в том, что мой пользователь не был a sudoer.

Эта проблема может быть решена путем добавления пользователя к /etc/sudoers файл или путем добавления задания крона как root.

sudo su
crontab -e

и размещение задания крона там

2
ответ дан 7 December 2019 в 13:26

Попытайтесь дать cronjob как

* 1 * * * cd /home/user/ping_scripts/ && ./ping-test.sh

и также удостоверьтесь, что сценарий является исполняемым файлом

0
ответ дан 7 December 2019 в 13:26

Другие вопросы по тегам:

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