Как я могу динамически изменять crontab? [закрыто]

Мне нужно создать сценарий bash, чтобы:

  1. Очистить мой корневой Crontab;
  2. Вставить новые Cronjobs через скрипт bash.

Для первого пункта я могу использовать crontab -r

Для второго пункта вместо здесь Я нашел этот сценарий:

#!/bin/bash

lines="* * * * * /path/to/command"
(crontab -u root -l; echo "$lines" ) | crontab -u root -

Как я могу приготовить это вместе в сценарии bash?

Примерно так:

#!/bin/bash 

crontab -r 

line="* * * * * /path/to/command; 
      * * * * * /path/to/command2;
      * * * * * /path/to/command3" 

(crontab -u root -l; echo "$line" ) | crontab -u root -
-1
задан 13 April 2017 в 05:24

1 ответ

Образец, который Вы отправили, распечатает текущий crontab и введет новые директивы.

, Если Вы намереваетесь просто ввести новые директивы, вытирая текущий crontab, вместо Вашего

lines="* * * * * /path/to/command"
( crontab -u root -l; echo "$lines" ) | crontab -u root -

, Идут с:

lines="* * * * * /path/to/command"
echo "$lines" | crontab -u root -
<час>

И, поскольку Вы указали на это в комментариях, это неправильно, добавляя несколько кронов, для использования точек с запятой в качестве разделителя. Можно пойти с:

lines=" line1
line2"

Или:

crontab -u root - <<EOF
line1
line2
EOF

Или:

(
    echo line1
    echo line2
) | crontab -u root -
1
ответ дан 7 November 2019 в 01:10

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

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