Membuat Cron Jobs Untuk User Tertentu di LinuxMint

10 Januari 2018

Kita dapat menjalankan tugas cron sebagai root tanpa masalah. Sebagian besar pekerjaan pemeliharaan sistem perlu dijalankan oleh root atau pengguna super. Namun, ada kondisi tertentu yang memerlukan setiap pengguna di sistem memiliki tugas crontab atau cron mereka sendiri. Administrator sistem atau pengguna super perlu memberi pengguna tersebut izin eksplisit untuk menjalankan cron.

Ada dua file yang mengontrol hak akses untuk crontab yaitu cron.allow dan cron.deny di mana pada distro LinuxMint keduanya harus diletakkan di /etc/crond.d/ (saat ini saya menggunakan LinuxMint Sarah). Jika ada file cron.allow, maka pengguna atau pengguna yang perlu menggunakan cron perlu dicantumkan dalam file. Anda bisa menggunakan cron.deny untuk secara eksplisit melarang pengguna tertentu menggunakan cron.

Jika tidak ada file (cront.allow atau cron.deny), maka hanya pengguna super yang diizinkan menjalankan cron. Nah, itu tergantung konfigurasi spesifik sistem tepatnya. Sebagian besar konfigurasi tidak mengizinkan pengguna menjalankan pekerjaan, sementara beberapa sistem mengizinkan semua pengguna menjalankan pekerjaan secara default.

Jadi, langkah pertama adalah membuat file bernama cron.allow di folder /etc/cron.d/ dan tambahkan nama pengguna ke file ini agar pengguna dapat menjalankan pekerjaan. Contoh file cron.allow yang berisi nama-nama user yang bisa menjalankan cron jobs:

root
juwarto
www-data

Jika ingin melihat daftar user di mesin local kita bisa menggunakan perintah berikut:

cut -d: -f1 /etc/passwd

Membuat cron job baru atau mengedit cron job untuk user tertentu gunakan perintah berikut:

crontab -u juwarto -e

Selanjutnya isikan perintah jobs yang akan dijalankan. Contoh baris dalam file crontab seperti di bawah ini akan menghapus file-file temporaries dari /home/someuser/tmp setiap hari pukul 18.30.

30 18 * * *   rm /home/someuser/tmp/*

Ada 5 kolom waktu yang bisa diatur kapan suatu job akan dieksekusi. Diwakili dengan tanda bintang (*) lima kali, berikut penjelasannya setiap posisi tanda bintang dari kiri ke kanan:

* * * * *
| | | | |_____ hari dalam sepekan (0=ahad)
| | | |_______ bulan (1-12)
| | |_________ hari dalam sebulan (1-31)
| |___________ jam dalam sehari (0-23)
|_____________ menit dalam sejam (0-59)

Secara default, cron jobs mengirimkan email ke akun pengguna yang menjalankan cron job. Jika ini tidak diperlukan letakkan perintah berikut di akhir baris cron job:

>/dev/null 2>&1

Opsi perintah crontab:

crontab -e  Edit crontab file, or create one if it doesn’t already exist.
crontab -l  crontab list of cronjobs , display crontab file contents.
crontab -r  Remove your crontab file.
crontab -v  Display the last time you edited your crontab file. (This option is only available on a few systems.)

Selamat ngoprek!

Tidak ada Komentar

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

This site uses Akismet to reduce spam. Learn how your comment data is processed.