Cron job, который каждую минуту выводит "hello world" на терминал

Это мой первый раз, когда я играю с Кроном, и я не могу понять, что не так. Я прочитал три самых важных вопроса по этому поводу, но это все равно не сработает.

sayhello. sh, которая была сделана исполняемой с chmod -x и находится по адресу /home/user

#!/bin/sh
echo "HELLO WORLD"

в crontab -e

* * * * * DISPLAY=0.0 /home/user/sayhello.sh
0
задан 24 September 2020 в 17:58

3 ответа

Оболочка сама по себе не имеет возможности взаимодействовать с рабочим столом пользователя - она ​​должна быть подключена к какому-либо терминальному устройству. Например:

* * * * * DISPLAY=:0 gnome-terminal -- /home/user/sayhello.sh

или

* * * * * DISPLAY=:0 xterm -e /home/user/sayhello.sh

Возможно, вам потребуется настроить терминал, чтобы он оставался открытым после выхода команды - либо через его настройки, либо добавив такую ​​команду, как , прочтите в нижней части ваш сценарий (чтобы оболочка блокировалась в ожидании ввода пользователя).

2
ответ дан 4 January 2021 в 08:21

Вы пробовали sudo chmod + x sayhello.sh?

? Я заметил, что вы сказали -x, возможно, что вот в чем проблема. -x удаляет разрешения на выполнение, а + x добавляет его.

0
ответ дан 4 January 2021 в 08:21

Установка всех звездочек * * * * * указывает crontab запускать команду каждую минуту каждого дня каждой недели каждого месяца. Вы должны указать время, когда вы хотите запустить сценарий:

# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
0
ответ дан 4 January 2021 в 08:21

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

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