Anda dapat menjalankan tugas batch di UNIX / Linux menggunakan salah satu dari tiga perintah — at, batch, atau cron.
Dalam artikel ini, mari kita tinjau cara menjadwalkan pekerjaan, melihat pekerjaan, dan menghapus pekerjaan menggunakan di perintah .
Anda dapat menjadwalkan pekerjaan dengan dua cara berbeda:
- Jadwalkan pekerjaan yang akan dieksekusi pada waktu tertentu. Misalnya, 3 Juli, 10:00
- Jadwalkan pekerjaan yang akan dieksekusi dalam waktu relatif dari sekarang. Misalnya, 5 jam dari sekarang.
1. Jadwalkan pekerjaan menggunakan tanggal dan waktu tertentu
Sintaks:
$ at time date
Misalnya, untuk menjadwalkan pekerjaan pada jam 11 pagi pada tanggal 20 Mei, gunakan perintah berikut ini.
$ at 11 am may 20
2. Jadwalkan pekerjaan menggunakan waktu relatif
Anda dapat menjadwalkan pekerjaan yang akan dieksekusi menggunakan waktu relatif dari sekarang.
Sintaks:
$ at now + COUNT UNIT
Misalnya, pekerjaan berikut akan dijalankan 1 menit dari sekarang.
$ at now + 1 min
Contoh di atas akan membaca perintah dari stdin, dan akan menjalankan pekerjaan setelah satu menit. Ketika Anda memberikan sesuatu yang salah dalam format waktu, Anda akan mendapatkan kesalahan 'Waktu kacau ‘.
Anda dapat menjadwalkan pekerjaan latar belakang selama 1 jam dari sekarang, (atau) 1 hari dari sekarang menggunakan perintah berikut:
$ at now + 1 hour $ at now + 1 day
Mirip dengan perintah, Anda juga dapat menggunakan crontab untuk menjalankan pekerjaan pada waktu yang dijadwalkan. Lihat artikel contoh perintah 15 cron kami sebelumnya.
3. Lihat semua pekerjaan terjadwal menggunakan atq
Anda dapat menggunakan perintah atq (atau di -l), untuk menampilkan semua pekerjaan perintah at yang dijadwalkan atau sedang berjalan.
Perintah atq berikut akan mencantumkan semua at yang tertunda pekerjaan. Angka pertama yang ditampilkan adalah nomor Pekerjaan, diikuti dengan waktu di mana proses akan dijalankan, dan nama pengguna.
$ atq 4 2010-04-20 11:00 a sathiya
4. Hapus/Hapus jadwal di pekerjaan menggunakan atrm
Anda dapat menggunakan perintah atrm (atau di -d), untuk menghapus pekerjaan tertentu. Misalnya, untuk menghapus pekerjaan nomor 4, gunakan perintah atrm berikut.
$ atrm 4
5. Jalankan pekerjaan hanya ketika rata-rata beban sistem <1,5 menggunakan perintah batch
Anda dapat menjadwalkan pekerjaan menggunakan perintah batch, yang akan meminta masukan perintah, yang akan dijalankan ketika rata-rata beban sistem kurang dari 1,5.
$ batch
Setelah berhasil menyelesaikan input, Anda akan mendapatkan nomor pekerjaan. Untuk membuat daftar dan menghapus tugas batch, Anda dapat menggunakan perintah at yang dijelaskan di atas.
6. Jadwalkan pekerjaan dari file menggunakan opsi -f
Pertama, buat file teks yang berisi semua perintah, atau skrip shell yang ingin Anda jalankan di latar belakang menggunakan perintah at.
$ cat myjobs.txt /home/sathiya/calculate-space.sh /path/to/a/shell-script /path/to/any/command/or/script
Menggunakan opsi -f, Anda dapat membuat perintah at untuk mendapatkan input dari file alih-alih stdin.
Mengikuti perintah akan menjalankan semua pekerjaan dari myjobs.txt 1 jam dari sekarang.
$ at -f myjobs.txt now + 1 hour
7. Mengizinkan dan Menolak pengguna tertentu untuk menggunakan di pekerjaan
Administrator sistem dapat mengontrol siapa yang dapat menjadwalkan pekerjaan dan siapa yang tidak dapat menggunakan file at.allow dan at.deny.
Pertama, sistem memeriksa file at.allow. Jika at.allow ada, hanya nama pengguna yang ditentukan dalam file at.allow yang diizinkan untuk digunakan pada perintah.
Selanjutnya, (jika at.allow tidak ada), sistem memeriksa file at.deny. Jika at.deny ada, nama pengguna yang ditentukan dalam file at.deny tidak diizinkan untuk menggunakan perintah at.
Secara default, sebagian besar sistem menggunakan file at.deny untuk menghentikan pengguna tertentu menggunakan perintah at, seperti www-data, guest, backup, man user.
8. Jalankan pada perintah seperti nohup
Mirip dengan perintah nohup yang telah kita bahas sebelumnya, Anda dapat menjalankan perintah (atau skrip shell) di server jauh menggunakan perintah at dan logout dari server.
$ at -f myjob now + 1 min $ exit
Catatan:myjob akan tetap berjalan bahkan setelah Anda keluar dari server.
9. Tambahan pada format waktu perintah
Anda dapat menggunakan salah satu dari berikut ini pada format waktu tanggal perintah:
$ at 10 am tomorrow $ at 11:00 next month $ at 22:00 today $ at now + 1 week $ at noon