2011-04-01 88 views
1

我在下面編寫一個shell腳本以將作業添加到cron。編寫一個shell腳本以將作業添加到cron中

#!/bin/sh 
touch date.cron 
echo '*/3 * * * * /usr/sbin/ntpdate 192.168.2.3' >date.cron 
crontab date.cron 
rm date.cron 

但我不想創建文件date.cron。如何直接添加作業而不創建文件。有什麼建議麼?

+0

檢查[Crontab](http://www.queryhome.com/29093/crontab-installation-in-linux)應該是有用的... – user2794034 2014-01-20 11:35:44

回答

8
(crontab -l 2>/dev/null | grep -Fv ntpdate ; printf -- "*/3 * * * * /usr/sbin/ntpdate 192.168.2.3") | crontab 
+0

非常感謝! Benoit Thiery – louxiu 2011-04-01 14:03:05

+0

爲什麼grep命令? – knocte 2012-10-18 10:01:15

+0

避免影響crontab中的其他行。由於grep,只有ntpdate行會被添加/替換。 – 2012-10-18 10:44:38

1

使用>> 「追加」,而不是> 「輸出」

#!/bin/bash 
Task="'*/3 * * * * /usr/sbin/ntpdate 192.168.2.3'"; 
$Task >> date.cron; 

問候。