Cara menjalankan beberapa perintah dalam satu pekerjaan cron
- 2153
- 582
- Karl O'Connell DDS
Crontab adalah utilitas untuk menjalankan tugas terjadwal secara berkala pada sistem unix-linux. Ini memungkinkan kami untuk menjadwalkan beberapa pekerjaan cron untuk dijalankan sekaligus. Kami dapat menjadwalkan perintah atau skrip shell apa pun untuk dapat dieksekusi di terminal. Setiap pekerjaan yang dijadwalkan di crontab dipisahkan oleh baris baru. Kami juga dapat mendefinisikan beberapa perintah atau skrip dalam satu pekerjaan cron untuk menjalankan satu per satu.
Cara memisahkan dua perintah di linux
Anda dapat memisahkan dua atau lebih perintah dengan menggunakan semicolons (;), logis dan (&&), atau logis atau (||) operator. Manakah dari operator berikut yang kami gunakan, benar -benar tergantung pada persyaratan. Berikut adalah pemahaman dasar menggunakan operator ini.
- Semicolon (;): digunakan untuk memisahkan beberapa perintah. Ini mengeksekusi semua perintah tanpa memeriksa status keluar dari perintah sebelumnya.
command_1; command_2; command_n
- Logis dan (&&): digunakan untuk memisahkan perintah saat kami ingin menjalankan perintah berikutnya hanya jika perintah sebelumnya berhasil dieksekusi dengan status keluar 0.
command_1 && command_2 && command_n
- Logis atau (||): digunakan untuk memisahkan perintah saat kami ingin menjalankan perintah berikutnya hanya jika perintah sebelumnya gagal dengan status keluar non-0.
command_1 || command_2 || command_n
Bagaimana menjadwalkan pekerjaan cron
Pertama, beralih ke pengguna dari mana Anda ingin menjalankan pekerjaan cron. Kemudian buka editor crontab dengan menjalankan perintah berikut.
crontab -e
Kemudian Anda menambahkan entri pekerjaan cron ke file seperti di bawah ini:
Perintah crontab dipisahkan dengan logis danMenjalankan beberapa perintah dalam pekerjaan cron tunggal
Mari kita bahas contoh kehidupan nyata dari menjalankan beberapa perintah dengan crontab dengan pemisahan-2 yang berbeda.
- Menggunakan titik koma (;)
Kita dapat memisahkan dua atau lebih perintah dengan titik koma, yang tidak perlu memeriksa status keluar dari perintah sebelumnya. Misalnya, Anda perlu mengubah izin semua file menjadi 777 tetapi perlu mengatur 777 untuk direktori log.
0 2 * * * chmod -r 755/var/www/myapp; chmod -r 777/var/www/myapp/logs1 0 2 * * * chmod -r 755/var/www/myapp; chmod -r 777/var/www/myapp/logs Perintah crontab dipisahkan dengan titik koma (;)
- Menggunakan logis dan (&&)
Gunakan operator ini, di mana Anda ingin menjalankan perintah berikutnya hanya jika yang sebelumnya berhasil dieksekusi (status keluar 0). Misalnya, Anda ingin menjalankan cadangan.SH setelah berhasil mengubah /mencadangkan direktori.
0 2 * * * cd /cadangan && cadangan bash.SH1 0 2 * * * cd /cadangan && cadangan bash.SH Perintah crontab dipisahkan dengan logis dan
- Menggunakan logis atau (||)
Gunakan operator logis atau (||), saat Anda ingin menjalankan perintah berikutnya hanya jika yang sebelumnya gagal (keluar status non-0). Misalnya, Anda ingin menampilkan pesan atau mengirim email jika file cadangan tidak ditemukan.
0 2 * * * [-f /cadangan /mydb -'date +%f '.SQL] || echo "File cadangan hari ini tidak ditemukan"
Perintah crontab dipisahkan dengan logis dan1 0 2 * * * [-f /cadangan /mydb -'date +%f '.SQL] || echo "File cadangan hari ini tidak ditemukan"
Kesimpulan
Dalam posting blog ini, Anda telah belajar tentang menjalankan beberapa perintah dalam satu entri pekerjaan cron tunggal. Juga membahas berbagai opsi untuk memisahkan perintah. Artikel ini memberi Anda detail dasar tentang setiap pemisah yang digunakan untuk memisahkan perintah.
- « (Diselesaikan) Koneksi SSH ditolak di Ubuntu & Debian
- (Diselesaikan) variabel lingkungan java_home tidak didefinisikan dengan benar pada macOS »