2017-02-13 27 views
2

Я попробовал следующую команду и кронтаб остановлен любые работы: echo "@reboot /bin/echo 'test' > /home/user/test.sh"| crontab -Как добавить работу crontab в crontab с помощью сценария bash?

Что такое правильный способ сценария добавления работу CRONTAB в Linux?

+0

Вы перезаписываете свой 'crontab' Вам нужно вытащить существующие записи с помощью' crontab -l>/tmp/my.cron', а затем добавить новый cron в этот файл с помощью 'echo '@reboot/bin/echo' test ' > /home/user/test.sh ">>/tmp/my.cron', то, наконец, перечитайте файл обратно в crontab с помощью' crontab alvits

+0

Или если вы предпочитаете одну строку '(crontab -l; echo" @reboot/bin/echo 'test'> /home/user/test.sh ") | crontab -'. – alvits

ответ

3

Предлагаю вам прочитать Cron and Crontab usage and examples.

И вы можете запустить:

➜ (printf -- '0 4 8-14 * * test $(date +\%u) -eq 7 && echo "2nd Sunday"') | crontab 
➜ crontab -l 
0 4 8-14 * * test $(date +\0) -eq 7 && echo "2nd Sunday"    

Или

#!/bin/bash 
cronjob="* * * * * /path/to/command" 
(crontab -u userhere -l; echo "$cronjob") | crontab -u userhere - 

Надеется, что это помогает.

+0

Пробовал этот подход, и он возвращает 'новый файл crontab, пропускает новую строку перед EOF, не может установить.' – Greg

+0

@Dave Я только что обновил ответ, попробую по-другому. – McGrady