Perintah at di Linux dapat digunakan untuk menjadwalkan pekerjaan yang tidak berjalan pada jadwal reguler.
At dapat dibandingkan dengan konsep Crontab di Linux, yang merupakan cara yang lebih baik untuk mengotomatiskan tugas yang berulang.
Dalam tutorial ini, saya akan menunjukkan bagaimana Anda dapat menggunakan 'at command' untuk menjadwalkan menjalankan tugas dan perintah pada waktu tertentu di masa mendatang.
Menginstal pada perintah di Linux
Sebelum memulai, Anda harus memeriksa untuk melihat apakah 'at' diinstal pada sistem Anda. Itu tidak diinstal secara default di semua sistem operasi.
Anda dapat memeriksanya dengan mengetik:
at -V
Jika perangkat lunak sudah diinstal, ini akan mengembalikan nomor versi. Jika tidak, dapat diinstal pada sistem berbasis Debian dengan mengetik:
sudo apt install at
Jika Anda menggunakan distribusi Linux yang berbeda, Anda mungkin perlu memodifikasi perintah ini untuk mencerminkan pengelola paket yang digunakan oleh distribusi Anda.
Memulai
The 'at utility' sebenarnya adalah serangkaian perintah yang bekerja sama untuk menjadwalkan pekerjaan. Seperti yang sudah saya sebutkan, di lebih disukai untuk situasi di mana tugas Anda lebih merupakan "satu kali" daripada acara yang berulang.
Saya telah membuat tabel dengan beberapa perintah dasar yang terkait dengan di .
Perintah | Fungsi |
---|---|
di | memungkinkan pengguna untuk menjadwalkan tugas |
atq | mencantumkan pekerjaan yang diantrekan untuk pengguna yang masuk, atau semua pengguna jika dijalankan sebagai sudo |
atrm | menghapus pekerjaan dengan nomor pekerjaan yang ditentukan |
batch | menginstruksikan sistem untuk hanya menjalankan pekerjaan pada waktu yang ditentukan jika beban sistem pada tingkat tertentu (rata-rata beban <1,5) |
Semua Pengikat Kunci | [ ctrl + a ] + ? |
Menggunakan perintah at di Linux untuk menjadwalkan tugas
Menggunakan di memiliki format yang unik. Saat Anda ingin menjadwalkan pekerjaan, ketikkan ke terminal Anda:
at [time] [date/day]
Waktu adalah wajib, tetapi tanggal adalah opsional, jika tidak ada yang dimasukkan, itu akan membuat asumsi berdasarkan tanggal dan waktu sistem saat ini.
Saat Anda menekan enter, Anda akan diminta untuk memasukkan perintah. Anda dapat memasukkan sebanyak yang Anda suka. Ketik 'ctrl + d' untuk menyimpan dan keluar.
Mari saya tunjukkan kepada Anda dengan contoh.
Contoh 1:Masukkan waktu/tanggal menggunakan bahasa alami
Anda memiliki banyak pilihan berbeda untuk memasukkan waktu. Tidak seperti crontab dengan sistem berbasis tanda bintang yang agak rumit, 'at' mengenali input "manusia" dengan lebih efisien.
Ada banyak ekspresi seperti manusia yang dapat dipahami oleh perangkat lunak. Banyak dari ini khusus lokal. Itu bisa mengenali ekspresi umum seperti "tengah malam" atau "siang". Itu juga bisa membedakan antara AM dan PM. Demikian juga, ia dapat mengenali format yang berbeda untuk hari dan tanggal, termasuk singkatan.
Itu juga dapat menggunakan ungkapan "sekarang". Anda cukup memasukkan perintah seperti di bawah ini dan itu akan menjalankan perintah dalam 5 menit.
at now + 1 minutes
[email protected]:~$ at now + 1 min
warning: commands will be executed using /bin/sh
at> echo "Look at you, using at like a champ!" > message.txt
at> <EOT>
job 8 at Mon Jan 6 02:59:00 2020
Kemungkinan besar Anda dapat mengabaikan peringatan tentang bin/sh . Ini berpotensi menyebabkan sakit kepala jika Anda menggunakan shell yang berbeda. Sebagian besar distribusi Linux datang dengan bash sebagai shell sistem yang disimbolkan sebagai “sh”… Ceritanya panjang.
Jadi, sudah sekitar satu menit, kan? Periksa direktori untuk file baru.
Anda harus memiliki file bernama 'message.txt' yang berisi teks kami.
[email protected]:~$ ls m*
message.txt
Terlihat bagus, tetapi apakah itu menangkap pesan kita dengan benar? Mari kita lihat isi filenya:
[email protected]:~$ cat message.txt
Look at you, using at like a champ!
Contoh 2:Menggunakan Waktu/Tanggal yang Ditentukan
Untuk pekerjaan pertama Anda, Anda menggunakan waktu "relatif" 'sekarang + [waktu]'. Ini adalah cara mudah yang bagus untuk menjadwalkan pekerjaan, tetapi Anda mungkin ingin lebih spesifik.
Kali ini, mari kita jadwalkan 2 pekerjaan di waktu yang berbeda.
Anda dapat menggunakan file message.txt (dibuat pada contoh sebelumnya) untuk demonstrasi. Setiap pekerjaan akan menggantikan konten file.
Anda dapat memeriksa waktu saat ini di sistem Linux Anda dengan perintah tanggal.
Siapkan pekerjaan pertama untuk waktu tertentu (5 menit dari sekarang):
[email protected]:~$ at 3:45
warning: commands will be executed using /bin/sh
at> echo "5 minutes later..." > message.txt
at> <EOT>
job 11 at Mon Jan 6 03:45:00 2020
Siapkan pekerjaan kedua untuk waktu tertentu (10 menit dari sekarang):
[email protected]:~$ at 3:50
warning: commands will be executed using /bin/sh
at> echo "10 minutes later..." > message.txt
at> <EOT>
job 12 at Mon Jan 6 03:50:00 2020
Verifikasi pada 3:45:
[email protected]:~$ cat message.txt
5 minutes later...
Verifikasi pada 3:50:
[email protected]:~$ cat message.txt
10 minutes later...
Contoh 3:Lihat semua pekerjaan yang diantrekan dengan atq
Setiap saat Anda dapat memeriksa pekerjaan terjadwal menggunakan perintah atq. Ini akan mencantumkan semua pekerjaan terjadwal saat ini untuk pengguna yang masuk. Untuk melihat semua pekerjaan di sistem, Anda mungkin perlu menggunakan hak istimewa yang lebih tinggi.
[email protected]:~$ atq
11 Mon Jan 6 03:45:00 2020 a christopher
12 Mon Jan 6 03:50:00 2020 a christopher
Setiap pekerjaan diidentifikasi oleh ID pekerjaan, waktu yang dijadwalkan, dan pengguna yang terkait.
Anda juga dapat melihat konten pekerjaan terjadwal dengan opsi -c:
at -c jobnumber
Contoh 4:Menghapus tugas terjadwal dengan atrm
Jika Anda memutuskan untuk membatalkan suatu pekerjaan sebelum dijalankan, hal ini dapat dilakukan dengan mengetikkan perintah diikuti dengan id pekerjaan yang sesuai (yang dapat Anda peroleh dengan perintah atq).
[email protected]:~$ atrm 11
[email protected]:~$ atq
12 Mon Jan 6 03:50:00 2020 a christopher
Seperti yang Anda lihat, pekerjaan 11 telah dihapus dari antrian.
Contoh 5:Gunakan file untuk di perintah
Mungkin Anda memiliki serangkaian skrip yang ingin Anda jalankan secara tidak teratur dan cron tidak pas. Anda dapat memasukkan banyak pekerjaan tanpa menggunakan input standar.
Mari kita bayangkan sebuah skenario di mana HR meminta dokumentasi untuk aktivitas komputer dari seorang karyawan yang mereka yakini melanggar kebijakan kerja. Anda mungkin ingin log aktivitas tertentu atau informasi riwayat lainnya menghasilkan laporan untuk Anda pada waktu yang ditentukan.
Anda dapat menghemat waktu dengan membuat daftar skrip yang diperlukan dalam file teks yang menjalankannya dengan di.
[email protected]:~$ cat problem_employee_logs.txt
path/to/get_browsing_history.sh
/whatever/path/get_activity_logs.sh
Anda mendapatkan idenya. Jadi sekarang, Anda dapat menambahkan -f ke perintah 'at' dan memasukkan nama file setelahnya seperti ini:
[email protected]:~$ at now + 2 minutes -f problem_employee_logs.txt
warning: commands will be executed using /bin/sh
job 16 at Mon Jan 6 05:42:00 2020
Contoh 6:Jalankan pekerjaan saat beban CPU turun di bawah ambang batas
Tugas batch akan dijalankan ketika rata-rata beban CPU turun di bawah 1,5 secara default.
batch
Metode untuk memasukkan pekerjaan batch identik dengan 'at ', kecuali bahwa itu tidak memerlukan waktu untuk ditentukan.
Jika Anda ingin mengubah ambang batas beban, Anda dapat melakukannya dengan perintah berikut:
atd -l [n]
Di mana n adalah ambang beban yang ingin Anda pilih. Halaman manual menyarankan Anda mengubahnya menjadi lebih tinggi dari n-1 di mana n adalah jumlah CPU di sistem Anda.
Kesimpulan
Terima kasih sudah membaca. Saya harap pemahaman Anda tentang perintah at telah meningkat. Jika Anda memiliki pertanyaan atau ingin berbagi bagaimana Anda menggunakan perintah ini, beri tahu kami! Tinggalkan komentar di bawah.