GNU/Linux >> Belajar Linux >  >> Linux

CentOS / RHEL :Panduan pemula untuk cron

Cron adalah penjadwal pekerjaan berbasis waktu, dikonfigurasi untuk menjalankan perintah pada waktu atau interval tertentu. Setiap Pengguna memiliki tabel cron yang mendefinisikan apa yang harus dijalankan dan pada interval apa. crontab perintah digunakan untuk membuat, memodifikasi, dan melihat tugas cron.

Konfigurasi file dan direktori

– Cron dikendalikan oleh sekumpulan file yang disebut crontabs.
– Ada file master di /etc/crontab , bersama dengan file crontab untuk pengguna di /var/spool/cron/ . Di direktori terakhir, file diberi nama yang sama dengan nama pengguna pengguna.
– File /etc/crontab secara otomatis mengeksekusi item di beberapa subdirektori secara berkala. Script ditempatkan di berbagai direktori – /etc/cron.* dijalankan sesuai interval waktu yang diberikan di bawah ini. Semua skrip di direktori ini dijalankan dengan hak akses root.

Direktori Waktu
/etc/cron.hourly Menit pertama setiap jam
/etc/cron.daily Antara 03:05 hingga 22:55 setiap hari
/etc/cron.weekly Antara 03:25 dan 23:10 setelah 7 hari sejak eksekusi terakhir
/etc/cron.monthly Antara 03:45 dan 23:30 setelah sebulan sejak eksekusi terakhir

– Yang perlu dilakukan sysadmin adalah menempatkan skrip shell atau tautan ke file yang dapat dieksekusi di salah satu direktori dan secara otomatis akan dijalankan pada waktu yang tepat.

sintaks crontab

Menyiapkan crontab tingkat pengguna agak berbeda. File di /var/spool/cron tidak diedit secara langsung. Sebaliknya, sebuah program yang disebut crontab digunakan untuk memanipulasi mereka. Sintaks dari perintah crontab adalah :

Usage:
 crontab [options] file
 crontab [options]
 crontab -n [hostname]

Options:
 -u [user]  define user
 -e         edit user's crontab
 -l         list user's crontab
 -r         delete user's crontab
 -i         prompt before deleting
 -n [host]  set host in cluster to run users' crontabs
 -c         get host in cluster to run users' crontabs
 -s         selinux context
 -x [mask]  enable debugging

Cara mengedit crontab

Cara terbaik untuk mengedit crontab adalah menggunakan perintah crontab -e . Cara lain untuk melakukannya adalah :

1. su to the user whose cron you want to change
2. crontab -l > file      [ copy the crontab to a file ].
3. vi file                [ make changes to the file as per your need ]
4. crontab file           [ this makes the "file" as new crontab ]

Tidak perlu me-restart cron daemon setelah ini.

Menafsirkan bidang waktu dan tanggal

Setiap perintah cron memiliki 5 bidang waktu dan tanggal, diikuti dengan nama pengguna [opsional], dan jika ini adalah file crontab sistem, maka akan diikuti oleh perintah. Perintah dijalankan ketika waktu yang ditentukan oleh bidang waktu/tanggal cocok dengan waktu saat ini.

field          allowed values
-----          --------------                  
minute         0-59                  
hour           0-23                  
day of month   0-31                  
month          0-12 (or names, see below)                  
day of week    0-7 (0 or 7 is Sun, or use names)

Bidang dapat berupa tanda bintang (*), yang selalu berarti pertama sampai terakhir . Jadi jika digunakan di kolom bulan, artinya setiap bulan dari 0 (Jan) hingga 12 (Des).

Contoh tugas Cron:

# Example of job definition:
 .---------------- minute (0 - 59)
 |  .------------- hour (0 - 23)
 |  |  .---------- day of month (1 - 31)
 |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
 |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
 |  |  |  |  |
 0  1  *  *  *  [user-name] [command to be executed]

Contoh pengaturan tugas cron

Berikut adalah beberapa contoh penggunaan crontab untuk memahami cara menjadwalkan tugas :
Contoh : menjalankan pekerjaan lima menit setelah tengah malam, setiap hari :

5 0 *  *  *     /home/oracle/scan_asm_devices.sh

Contoh : menjalankan pekerjaan pada 17:30 pada tanggal 1 setiap bulan :

30 17 1  *  *   mail -s "It's 5:30pm"

Contoh : Menjalankan pekerjaan pada pukul 4:05 setiap hari Senin.

5  4  *  *  mon     echo "run at 5 after 4 every monday"

Kontrol akses pengguna

– Untuk mengizinkan pengguna mengakses crontab, file /etc/cron.allow dan /etc/cron.deny dapat digunakan untuk mengizinkan atau menolak akses. Cukup masukkan satu nama pengguna di salah satu dari 2 file untuk mengizinkan atau menolak akses ke crontab.
– Jika file /etc/cron.allow ada maka file /etc/cron.deny tidak akan digunakan.
– Dalam instalasi default hanya file kosong /etc/cron.deny yang akan ada.
– Jika tidak ada file yang ada maka hanya pengguna root yang akan diberikan akses untuk menjadwalkan pekerjaan melalui cron.


Linux
  1. Cron Job:Panduan Lengkap untuk Pemula 2022

  2. CentOS / RHEL 7 :Panduan pemula untuk target systemd (penggantian level run init SysV)

  3. CentOS / RHEL 7 :Panduan pemula untuk systemd

  1. Panduan Utama untuk Meningkatkan Kernel di CentOS/RHEL/Fedora

  2. Otomatiskan Tugas Sistem dengan crontab di CentOS 7

  3. CentOS / RHEL 7 :Panduan pemula untuk firewalld

  1. CentOS / RHEL :Panduan pemula untuk vsftpd (instalasi dan konfigurasi)

  2. Panduan Pemula untuk Mengotomatiskan Sistem File di CentOS / RHEL

  3. Panduan Pemula untuk NFS di CentOS / RHEL