GNU/Linux >> Belajar Linux >  >> Linux

Apa Itu Crontab Dan Bagaimana Mengotomatiskan Tugas Di Linux Dengan Crontab

​Cron adalah utilitas yang mengelola proses latar belakang atau daemon dari waktu ke waktu (misalnya setiap menit, hari, minggu, atau bulan). Cron bekerja seperti penjadwal, misalnya, dapat mengunduh file dari internet atau mengunduh email secara berkala, Anda juga dapat menggunakannya untuk tugas yang lebih kompleks seperti menginstal pembaruan. Awalnya cron dibuat untuk UNIX oleh Ken Thompson, tetapi sekarang Anda dapat menggunakannya di semua sistem mirip UNIX, bahkan Linux! UNIX memiliki utilitas lain untuk penjadwalan tugas yang disebut "at" tetapi cron jauh lebih baik. ​Ada dua cara untuk menggunakan cron, yang pertama adalah melalui direktori cron yang terletak di /etc jika Anda membuka terminal dan ketik perintah berikut:$ls /etc/cron* Anda akan mendapatkan output sebagai berikut:

​Sekarang, Anda dapat melihat direktori berikut pada gambar:cron. setiap hari, cron. hourly, cron.monthly, cron.weekly dan cron.yearly. Direktori ini menyimpan script-script yang harus dijalankan oleh cron, sesuai dengan nama masing-masing direktori adalah frekuensi eksekusinya. Misalnya, skrip yang disimpan di cron.hourly akan dieksekusi setiap jam.

Sekarang, saya akan menulis skrip sederhana untuk membuat cadangan direktori, dan saya akan meletakkannya di cron. direktori per jam untuk mengeksekusi skrip setiap jam. Satu hal penting yang harus Anda pertimbangkan, adalah memberikan izin eksekusi ke skrip, karena jika tidak, cron tidak akan mengeksekusi file.

Contoh proses untuk menambahkan skrip ke tugas cron menggunakan direktori cron global:

Saya memiliki direktori dan saya ingin membuat dan mencadangkan secara otomatis setiap jam:

​Saya menulis skrip untuk membuat cadangan, saya menggunakan nano tetapi Anda dapat menggunakan editor favorit Anda:

Saya menguji skrip:

Saya menyalin skrip ke /etc/cron.hourly:

Saya memberikan izin eksekusi ke skrip:

​Semua skrip harus dimulai dengan baris #!/bin/sh karena ini menunjukkan shell yang akan digunakan. Menggunakan cron melalui direktori /etc/cron.* tidak terlalu berguna, jadi saya akan menjelaskan cara kedua menggunakan crontab.

Jika Anda ingat output ketika saya mendaftarkan konten /etc/cron* Anda akan melihat file berikut:/etc/crontab

Anda dapat menjadwalkan tugas di file crontab, tetapi pertama-tama, Anda harus mempelajari hal berikut:

​Jika Anda menganalisis konten file crontab, Anda dapat mengidentifikasi 7 bidang di baris setelah "# run-parts", maksud saya berikut ini ( baris pertama setelah "# run parts"):

​Field1 Bidang2 ​Field3 Bidang4 Bidang5 Bidang6 Field7
01 * * * * ​akar ​bagus …

Lima bidang pertama menunjukkan nilai waktu, bidang keenam menunjukkan pengguna dan bidang ketujuh menunjukkan perintah untuk dieksekusi, yang terakhir ini dapat berupa skrip atau perintah (uname, ls, apt-get, dll). Bidang waktu adalah sebagai berikut:

​menit ​jam ​hari dalam sebulan ​bulan ​hari dalam seminggu
01 * * * *

​Nilai yang diterima untuk setiap bidang adalah:

​menit ​00 – 59
​jam ​00 – 23
​hari dalam sebulan ​1 – 31
​bulan ​1 – 12
​hari dalam seminggu ​1 – 7 (Senin:1, Minggu:7)

Jika nilai salah satu bidang ini adalah “*”, itu berarti semua kemungkinan nilai untuk bidang koresponden, misalnya, * * * * * root /root/script.shTugas ini akan dijalankan oleh root setiap menit, setiap hari dan semua bulan.

Crontab menggunakan string yang terlalu khusus untuk menentukan rentang frekuensi:

@reboot ​Satu kali setelah boot
​@tahunan ​Setahun sekali
​@setiap tahun ​Sama seperti @tahunan
​@bulanan ​Sebulan sekali
​@mingguan ​Seminggu sekali
​@daily ​Harian
​@tengah malam ​Sama seperti @harian
​@setiap jam ​Setiap Jam

​Anda cukup mengubah bidang waktu untuk salah satu string khusus dan kemudian menyelesaikan sisanya, misalnya, @annually root dist-upgrade. Tugas ini harus dijalankan setiap tahun secara otomatis.

Sekarang Anda dapat menambahkan tugas ke crontab, Anda juga dapat membuat direktori .scripts di /home Anda dan menyimpan skrip Anda di dalamnya, akhirnya, Anda dapat menambahkan entri untuk setiap skrip di file crontab.

Crontab dapat mengelola file tugas untuk setiap pengguna, Anda dapat menguji apakah pengguna Anda memiliki tugas crontab menggunakan perintah berikut:

​Anda dapat menjadwalkan tugas dalam file, cukup buat:

​Setelah Anda membuat file crontab, Anda harus memuatnya ke cron dengan mengetikkan perintah:

$ crontab your_crontab ​

Cron sangat powerful karena setelah itu Anda memuat crontab baru, Anda tidak perlu melakukan apa-apa, itu saja, cron memuat tugas baru dan file crontab secara otomatis. Hasil dari crontab saya adalah skrip yang membuat file dengan tanggal yang dihasilkan setiap menit:

Skrip

File yang dihasilkan​Opsi lain untuk crontab adalah sebagai berikut:

​Cron adalah penjadwal tugas paling kuat yang saya tahu dan sangat baik karena tidak hanya untuk Linux, ini untuk semua sistem mirip UNIX. Jika Anda mengelola server, mungkin Anda akan menyukai cron, bahkan jika Anda adalah pengguna biasa, Anda akan menyukai cron, dengan cron Anda dapat menjadwalkan semuanya. Jika Anda ingin tahu lebih banyak tentang cron, Anda harus melihat halaman manual:

$ man cron
$ man crontab 

Linux
  1. Cara menggunakan cron di Linux

  2. Menjadwalkan tugas sistem dengan Cron di Linux

  3. Apa Itu Podman Dan Bagaimana Cara Menginstal Podman Di Linux

  1. Apa itu FirewallD Dan Bagaimana Menerapkannya Di Linux

  2. Otomatiskan Tugas Sistem dengan crontab di CentOS 7

  3. Bagaimana cara mengatur Tugas Otomatis pada VPS Linux Menggunakan Cron?

  1. Menjadwalkan tugas dengan perintah cron Linux

  2. Apa itu Perintah Chown di Linux dan Cara Menggunakannya

  3. Flatpak di Linux:Apa Itu dan Bagaimana Menginstal Aplikasi dengannya