Scheduling Future Tasks
Tags: ramadhanbersamaredhat, rha134, cloudcomputing, chapter2
Published: 2024-04-06 22:28:39

**Tujuan**
Setelah menyelesaikan bagian ini, Anda seharusnya dapat menyiapkan perintah yang dijalankan satu kali di masa mendatang.

**Menjelaskan Tugas Pengguna yang Ditunda**
Terkadang Anda mungkin perlu menjalankan perintah, atau serangkaian perintah, pada titik tertentu di masa mendatang. Contohnya termasuk orang yang ingin menjadwalkan email ke atasannya, atau administrator sistem yang mengerjakan konfigurasi firewall yang menerapkan tugas “keamanan” untuk mengatur ulang pengaturan firewall dalam waktu sepuluh menit, kecuali mereka menonaktifkan pekerjaan tersebut sebelumnya.

Perintah terjadwal ini sering disebut tugas (tasks) atau pekerjaan (jobs), dan istilahnya tangguhan (deferred) menunjukkan bahwa tugas atau pekerjaan ini akan dijalankan di masa mendatang.

Salah satu solusi yang tersedia bagi pengguna Red Hat Enterprise Linux untuk menjadwalkan tugas yang ditangguhkan adalah perintah _at_. Paket _at_ yang menyediakan atd daemon sistem bersama dengan seperangkat alat baris perintah untuk berinteraksi dengan daemon (**at**,**atq**,dan lainnya). Dalam instalasi default Red Hat Enterprise Linux, atd daemon diinstal dan diaktifkan secara otomatis.

Pengguna (termasuk root) dapat mengantri pekerjaan untuk atd daemon menggunakan perintah **at**. Daemon atd menyediakan 26 antrian, a ke z, dengan pekerjaan dalam antrian yang disusun berdasarkan abjad mendapatkan prioritas sistem yang lebih rendah (nilai bagus yang lebih tinggi, dibahas dalam bab berikutnya).

**Menjadwalkan Tugas Pengguna yang Ditunda**
Gunakan perintah **at** _TIMESPEC_ untuk menjadwalkan pekerjaan baru. Perintah **at** kemudian membaca perintah untuk dijalankan dari saluran _stdin_. Saat memasukkan perintah secara manual, Anda dapat menyelesaikan input dengan menekan **Ctrl+D** . Untuk perintah yang lebih kompleks yang rentan terhadap kesalahan ketik, seringkali lebih mudah menggunakan pengalihan input dari file skrip, misalnya, **pada saat ini+5 menit** <_myscript_, daripada mengetik semua perintah secara manual di jendela terminal.

Argumen _TIMESPEC_ dengan perintah **at** menerima banyak kombinasi yang kuat, memungkinkan pengguna untuk menjelaskan dengan tepat kapan suatu pekerjaan harus dijalankan. Biasanya, mereka dimulai dengan waktu, misalnya, 02:00pm atau 15:59 bahkan teatime, diikuti dengan tanggal opsional atau jumlah hari di masa depan. Berikut ini daftar beberapa contoh kombinasi yang dapat digunakan.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/44l86g4wi77nckt0a9n5.png)

Untuk daftar lengkap spesifikasi waktu yang valid, lihat timespecdefinisi sebagaimana tercantum dalam referensi.

**Memeriksa dan Mengelola Pekerjaan Pengguna yang Ditunda**
Untuk mendapatkan gambaran umum tentang pekerjaan yang tertunda untuk pengguna saat ini, gunakan perintah **atq** atau perintah **at -l**.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dahowc5cm309kiqrwjhp.png)

Pada output sebelumnya, setiap baris mewakili pekerjaan berbeda yang dijadwalkan untuk dijalankan di masa mendatang.
1. Nomor pekerjaan unik untuk pekerjaan ini.

2. Tanggal dan waktu pelaksanaan pekerjaan yang dijadwalkan.

3. Menunjukkan bahwa pekerjaan dijadwalkan dengan antrian default _a_. Pekerjaan yang berbeda mungkin dijadwalkan dengan antrian yang berbeda.

4. Pemilik pekerjaan (dan pengguna yang akan menjalankan pekerjaan tersebut).

Untuk memeriksa perintah sebenarnya yang akan dijalankan saat pekerjaan dijalankan, gunakan **at -c** _JOBNUMBER_ memerintah. Perintah ini menunjukkan _environtment_ untuk pekerjaan yang diatur untuk mencerminkan lingkungan pengguna yang membuat pekerjaan pada saat pekerjaan itu dibuat, diikuti dengan perintah sebenarnya yang akan dijalankan.

**Menghapus Pekerjaan**

**atrm**​ _JOBNUMBER_ perintah menghapus pekerjaan terjadwal. Hapus pekerjaan terjadwal ketika tidak lagi diperlukan, misalnya, ketika konfigurasi firewall jarak jauh berhasil, dan tidak perlu diatur ulang.