GNU/Linux >> Belajar Linux >  >> Linux

Menjadwalkan tugas dengan perintah cron Linux

Di awal perjalanan Linux saya, saya mulai menghargai banyak utilitas baris perintah dari sistem operasi dan cara mereka merampingkan tugas-tugas rutin. Misalnya, mencadangkan aplikasi di server Windows saya sering kali membutuhkan paket perangkat lunak tambahan yang mahal. Sebaliknya, tar command membuat pencadangan Linux relatif mudah, dan juga kuat serta andal.

Namun, ketika mencadangkan sistem email distrik sekolah kami, saya menghadapi tantangan yang berbeda. Pencadangan tidak dapat dilakukan selama hari kerja atau sore hari karena orang menggunakan sistem. Pencadangan harus dilakukan setelah tengah malam, dan harus dapat diandalkan. Saya sudah terbiasa dengan Windows Task Manager, tapi apa yang akan saya gunakan di Linux? Saat itulah saya belajar tentang cron.

Menjadwalkan tugas di Linux dengan cron

Cron adalah daemon yang digunakan untuk mengeksekusi perintah terjadwal secara otomatis. Mempelajari cara menggunakan cron memerlukan beberapa bacaan dan percobaan, tetapi segera saya menggunakan cron untuk mematikan server email kami, mencadangkan data dalam file tar terkompresi, lalu memulai ulang layanan email pada pukul 3 pagi.

Perintah untuk pekerjaan cron disimpan dalam file crontab pada sistem Linux, yang biasanya ditemukan di /etc/crontab. Tampilkan isi file crontab Anda dengan $ crontab -l .

Edit file crontab dengan $ crontab -e .

Beberapa sistem default ke editor Vi untuk pengeditan cron. Anda dapat mengganti pengaturan ini menggunakan variabel lingkungan:

$ EDITOR=nano crontab -e

Ini memungkinkan Anda menggunakan editor nano untuk mengedit crontab pribadi Anda (jika Anda belum memilikinya, crontab akan dibuat secara otomatis untuk Anda).

Semua perintah crontab memiliki parameter yang dilambangkan dengan tanda bintang hingga Anda memasukkan nilai integer. Yang pertama mewakili menit, lalu jam, hari dalam sebulan, bulan dalam setahun, dan terakhir, hari dalam seminggu.

Komentar didahului oleh hash. Cron mengabaikan komentar, jadi itu adalah cara yang bagus untuk membuat catatan tentang apa yang dilakukan suatu perintah dan mengapa itu penting.

Contoh tugas cron

Misalkan Anda ingin memindai direktori rumah Anda dari virus dan malware dengan clamscan setiap minggu pada hari Senin pukul 10 pagi. Anda juga ingin mencadangkan direktori home Anda setiap minggu pada hari Selasa pukul 9 pagi. Menggunakan file cron dan crontab memastikan bahwa pemeliharaan sistem Anda terjadi setiap minggu, baik Anda ingat untuk menjalankan utilitas tersebut atau tidak.

Edit file crontab Anda untuk menyertakan yang berikut ini, menggunakan nama pengguna Anda sendiri alih-alih "don" (nama pengguna saya):

# Scan my home directory for viruses
0 10 * * 1 clamscan -ir /home/don
# Backup my home directory
0 9 * * 2 tar -zcf /var/backups/home.tgz /home/don

Jika Anda menggunakan editor nano, simpan pekerjaan Anda dengan Ctrl+O untuk menulis file dan Ctrl+X untuk keluar dari editor. Setelah mengedit file, gunakan crontab -l untuk membuat daftar konten file cron Anda untuk memastikan bahwa itu telah disimpan dengan benar.

Anda dapat membuat pekerjaan crontab untuk pekerjaan apa pun yang diperlukan di sistem Anda. Ini memanfaatkan sepenuhnya daemon cron.

Menjadwalkan dari baris perintah Linux

Bukan rahasia lagi bahwa bagian tersulit dari cron adalah menghasilkan nilai yang tepat untuk tanda bintang utama tersebut. Ada situs web, seperti crontab.guru, yang secara dinamis menerjemahkan waktu cron menjadi terjemahan yang dapat dibaca manusia, dan Opensource.com memiliki lembar contekan cron yang dapat Anda unduh untuk membantu Anda tetap lurus.

Selain itu, sebagian besar sistem cron modern menampilkan pintasan ke nilai-nilai umum, termasuk:

  • @hourly :Jalankan sekali dalam satu jam (0 * * * *)
  • @daily :Jalankan sekali sehari (0 0 * * *)
  • @weekly :Jalankan seminggu sekali (0 0 * * 0)
  • @monthly :Jalankan sebulan sekali (0 0 1 * *)
  • @reboot :Jalankan sekali setelah reboot

Ada juga alternatif untuk cron, termasuk anacron untuk pekerjaan yang ingin Anda jalankan secara teratur tetapi tidak sesuai dengan jadwal tertentu, dan at perintah untuk pekerjaan satu kali.

Cron adalah sistem penjadwalan tugas yang berguna, dan mudah digunakan seperti mengedit teks. Cobalah!


Linux
  1. Diagnosis masalah konektivitas dengan perintah ping Linux

  2. Tonton perintah dan tugas dengan perintah jam tangan Linux

  3. Ganti kutipan pintar dengan perintah sed Linux

  1. Periksa status file di Linux dengan perintah stat

  2. Memulai dengan perintah tac Linux

  3. Memulai dengan perintah cat Linux

  1. Jadwalkan tugas dengan Linux pada perintah

  2. Kuasai perintah Linux ls

  3. Menjadwalkan tugas sistem dengan Cron di Linux