Linux
使用 bash 腳本安裝 crontab
我創建了一個腳本來將兩個腳本安裝到 crontab 上。
#!/bin/bash sudo crontab -l > mycron #echo new cron into cron file echo "*/05 * * * * bash /mnt/md0/capture/delete_old_pcap.sh" >> mycron #schedule the delete script echo "*/12 * * * * bash /mnt/md0/capture/merge_pcap.sh" >> mycron #schedule the merge script #install new cron file crontab mycron rm mycron
腳本執行,並將這兩行添加到 crontab。但是如果我再次執行腳本,它會再次添加這些行,因此我將有四行說相同的內容。我希望安裝腳本這樣執行,插入到 crontab 的行不會重複。我怎樣才能做到這一點
我建議使用
/etc/cron.d
overcrontab
。您可以在
/etc/cron.d
其中放置行為類似於 crontab 條目的文件。雖然格式略有不同。例如
/etc/cron.d/pcap
:*/05 * * * * root bash /mnt/md0/capture/delete_old_pcap.sh */12 * * * * root bash /mnt/md0/capture/merge_pcap.sh
格式的不同之處在於添加使用者以在時間規範之後執行作業。
現在你可以簡單地檢查文件是否存在,如果你覆蓋它,也沒關係。
請注意,您的 cron 守護程序可能沒有
/etc/cron.d
. 我不知道哪個 cron 守護程序有它,但 vixie cron 是 linux 上的標準 cron 守護程序,它確實如此。