Crontab не работает правильно в Ubuntu

Вы можете сделать это:

if ($( ping 4.4.4.4 -c1 > /dev/null )) ; then
  echo "ping response succsess!!!"
fi
0
13.04.2017, 15:13
2 ответа

У вас есть половина справа, но ваш синтаксис неверен. Чтобы запустить Cronjob каждую минуту, введите звездочки в каждом поле

# m h dom mon dow   command
  * * * * * echo "1 minute"> ~/Document/cronoutput 

Если вы посмотрите в ваш Syslog logs , вы, вероятно, увидите ошибку вдоль строк Синтаксисную ошибку: эта CRONTAB будет игнорироваться

Синтаксис, который вы используете, работает не для каждой минуты.

Каждые 2 часа

# m h dom mon dow   command    
  0 */2 * * * /path-to-script

каждые 2 дня

# m h dom mon dow   command
  0 0 */2 * * /path-to-script

каждые 2 месяца

# m h dom mon dow   command
  0 0 0 */2 * /path-to-script
1
28.01.2020, 04:58

Удаление - это операция записи, поэтому вам нужно удалить доступ для записи из каталога, который содержит файл (используя файл ~ / foo / bar.txt , в качестве примера) :

chmod a-w ~/foo/

ИЛИ

chmod 666 ~/foo/

Это, однако, все еще разрешает root для удаления файла. Если даже не хочу, чтобы все стало более сложным. Насколько я знаю , лучший способ (и это легко обходится отменить команду) - это установить его на «неизменяемое»:

sudo chattr +i ~/foo/bar.txt

, которые остановят root от удаления файла, но они всегда могут Просто запустите Chattr -i ~ / foo / bar.txt снова, чтобы отменить его, чтобы он больше похоже на препятствие, чем полный блок. Это, однако, прекращает пользователей без root от удаления его, и они не будут иметь права работать Chattr -i на нем, так что это самый простой способ, поскольку оно не влияет на все файлы в каталоге Отказ

-121--120270-

Попробуйте в / TMP / TMP каталог, он должен работать:

*/1 * * * * echo "1 minute" > /tmp/cronoutput

Если вы попробуете команду из команды, она отрицает вас с проблемой разрешения.

-1
28.01.2020, 04:58

Теги

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