Saya telah membuat skrip untuk menginstal dua skrip ke 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
Script berjalan, dan tambahkan dua baris ke crontab. Tetapi jika saya menjalankan skrip lagi, itu menambahkan baris itu lagi, jadi saya akan memiliki empat baris mengatakan hal yang sama. Saya ingin skrip instal dijalankan sehingga garis yang dimasukkan ke crontab tidak diulang. Bagaimana saya bisa melakukan itu
Jawaban:
Saya akan merekomendasikan penggunaan
/etc/cron.d
lebihcrontab
.Anda dapat menempatkan file
/etc/cron.d
yang berperilaku seperti entri crontab. Padahal formatnya sedikit berbeda.Sebagai contoh
/etc/cron.d/pcap
:Perbedaan dalam format adalah menambahkan pengguna untuk menjalankan pekerjaan sesuai spesifikasi waktu.
Sekarang Anda cukup memeriksa apakah file itu ada, dan jika Anda menimpanya, itu tidak masalah.
Perhatikan bahwa mungkin saja daemon cron Anda mungkin tidak memilikinya
/etc/cron.d
. Saya tidak tahu daemon cron mana yang memilikinya, tetapi vixie cron adalah daemon cron standar di linux, dan memang demikian.sumber
Anda bisa mendeklarasikan fungsi:
dan memohonnya dengan mengatakan:
Ini akan menambahkan baris hanya jika tidak ada dalam file.
sumber
-F
akan membuatgrep
interpretasikan polanya sebagai string tetap.dari bash saya gunakan
Juga gunakan skrip ini untuk menambahkan entri cron di server jauh
sumber
Anda dapat menulis skrip dan menambahkannya ke crontab untuk menghentikannya:
sumber
kill -9
hanya boleh dilakukan sebagai upaya terakhir - unix.stackexchange.com/questions/8916/…