GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menggunakan Linux di Command

Pendahuluan

at command adalah utilitas baris perintah Linux yang digunakan untuk menjadwalkan pekerjaan untuk eksekusi nanti. Utilitas membaca perintah dari input standar dan mengelompokkannya ke dalam at pekerjaan, yang dijalankan hanya sekali.

Alternatif untuk at adalah pekerjaan cron. Namun, saat at tugas dijalankan hanya sekali, tugas cron adalah peristiwa yang berulang.

Dalam tutorial ini, Anda akan belajar menggunakan at perintah dan lihat contoh berguna untuk penjadwalan perintah.

Prasyarat

  • Sistem yang menjalankan Linux.
  • Akun pengguna dengan hak istimewa sudo.

Instal di Command

Bergantung pada distribusi Linux yang Anda gunakan, at perintah mungkin tidak diinstal sebelumnya.

Periksa apakah at diinstal dengan memasukkan nama perintah di terminal:

Jika utilitas belum diinstal sebelumnya, pesan keluaran menyatakan Perintah 'at' tidak ditemukan .

Instal di Ubuntu dan Debian

Ikuti langkah-langkah di bawah ini untuk memasang at di Ubuntu atau Debian:

1. Perbarui repositori paket:

sudo apt update

2. Pasang at perintah dengan menjalankan:

sudo apt install at

Instal di CentOS dan Fedora

Ikuti langkah-langkah di bawah ini untuk memasang at di CentOS atau Fedora:

1. Perbarui repositori paket:

sudo yum -y update

2. Jalankan perintah berikut untuk menginstal at :

sudo yum install at

Aktifkan Daemon Penjadwalan

Daemon penjadwalan berjalan di latar belakang dan menjalankan tugas terjadwal tepat waktu.

Jalankan perintah berikut setelah menginstal at paket untuk mengaktifkan atd menjadwalkan daemon dan mengaturnya untuk memulai pada sistem boot.

sudo systemctl enable --now atd

Linux pada Sintaks dan Opsi Perintah

Sintaks untuk at perintahnya adalah:

at [option] runtime

Opsi ini memungkinkan Anda melihat atau menghapus tugas terjadwal dan menyesuaikan at penjadwalan tugas komando. Opsi yang tersedia adalah:

Opsi Deskripsi
-V Mencetak nomor versi program ke keluaran standar.
-q [queue] Menggunakan [queue] yang ditentukan terdiri dari satu huruf, mulai dari a -z dan A -Z . a antrian adalah default untuk at dan b antrian adalah default untuk batch . Antrian dengan huruf yang lebih tinggi berjalan dengan lebih baik.
Mengirimkan pekerjaan ke antrian dengan huruf besar memperlakukan pekerjaan seperti yang dikirimkan ke batch . batch aturan rata-rata beban berlaku setelah tiba waktunya untuk menjalankan pekerjaan. Menunjuk antrian ke atq menyebabkannya hanya menampilkan pekerjaan yang tertunda dalam antrean itu.
-m Mengirim email kepada pengguna setelah pekerjaan selesai, meskipun tidak ada output. Memerlukan alamat email yang dikonfigurasi untuk pengguna yang menjadwalkan pekerjaan.
-f [file] Membaca pekerjaan dari [file] yang ditentukan bukan dari input standar.
-b Alias ​​untuk batch . Menjadwalkan tugas dan menjalankannya dalam batch antrian ketika rata-rata tingkat beban sistem di bawah 1,5.
-l Alias ​​untuk atq . Mencantumkan pekerjaan pengguna yang tertunda. Jika pengguna adalah pengguna super, daftarkan semua pekerjaan pengguna yang tertunda.
-d Alias ​​untuk atrm . Menghapus pekerjaan terjadwal, yang diidentifikasi dengan nomor pekerjaan mereka.
-v Menampilkan waktu eksekusi pekerjaan sebelum membaca pekerjaan. Format waktunya adalah Thu Feb 20 14:50:00 1997 .
-c Melakukan pekerjaan yang ditentukan, menampilkan isinya dalam output baris perintah standar.
-t [time_arg] Menjadwalkan pekerjaan untuk waktu yang ditentukan oleh [time_arg] argumen. Format waktu yang diterima adalah [[CC]YY]MMDDhhmm .

[runtime] Ekspresi Waktu

Jadwalkan pekerjaan menggunakan ekspresi waktu absolut atau ekspresi waktu relatif terhadap waktu pengaturan pekerjaan.

ekspresi waktu absolut . yang tersedia adalah:

  • YYMMDDhhmm[.ss] . Tentukan singkatan tahun, bulan, hari, jam, menit, dan opsional detik.
  • CCYYMMDDhhmm[.ss] . Tentukan tahun penuh, bulan, hari, jam, menit, dan opsional detik.
  • now . Menunjukkan hari dan waktu saat ini dan eksekusi segera.
  • midnight . Menunjukkan pukul 00:00.
  • noon . Menunjukkan pukul 12:00.
  • teatime . Diartikan sebagai jam 4 sore.
  • AM . Menunjukkan waktu sebelum pukul 12:00.
  • PM . Menunjukkan waktu setelah pukul 12:00.
  • today . Hari ini.
  • tomorrow . Sehari setelah hari ini.

Misalnya, perintah berikut menjadwalkan pemanggilan perintah gema pada jam 5 sore:

echo "hello" | at 5PM

Tentukan ekspresi waktu relatif dengan menambahkan tanda plus (+ ), jumlahnya, dan salah satu dari berikut ini:

  • minutes
  • hours
  • days
  • weeks
  • months
  • years

Menggunakan ekspresi waktu seperti tomorrow atau tuesday , menjadwalkan pekerjaan pada hari-hari tersebut pada waktu saat ini. Tentukan lebih lanjut waktu menggunakan + karakter.

Misalnya, perintah berikut menjadwalkan echo pemanggilan perintah lima menit setelah menjadwalkan pekerjaan:

echo "hello" | at now +5 minutes

Lingkungan

SHELL nilai variabel lingkungan menentukan shell mana (bash, zsh, dll.) at perintah yang digunakan untuk menjalankan pekerjaan. Saat menjadwalkan pekerjaan, perintah memperingatkan pengguna shell mana yang akan digunakan selama eksekusi.

Linux di Contoh Perintah

Bagian berikut menunjukkan at useful yang berguna contoh perintah.

Jadwalkan Pekerjaan Secara Interaktif

at perintah memungkinkan Anda menjadwalkan pekerjaan menggunakan at interactive interaktif mengingatkan. Buka prompt interaktif menggunakan sintaks berikut:

at [runtime]

Prompt interaktif memungkinkan Anda memasukkan perintah mana yang akan dijalankan pada waktu yang ditentukan. Perintah tersebut juga mencetak peringatan yang menyatakan shell mana yang akan digunakan oleh perintah.

Keluar dari perintah interaktif dan simpan pekerjaan terjadwal dengan menekan Ctrl + D . Batalkan pekerjaan dengan Ctrl + C .

Misalnya:

Dalam contoh di atas, kami menjadwalkan pekerjaan untuk jam 5 sore, yang membuka prompt interaktif. Pekerjaan yang dijadwalkan adalah menjalankan echo perintah, dan utilitas menggunakan shell bash standar.

Pipakan Pekerjaan ke di

Jadwalkan pekerjaan tanpa at interactive interaktif prompt dengan menyalurkan perintah ke at dan menentukan waktu proses. Gunakan echo atau printf untuk meneruskan perintah ke at .

Misalnya:

echo "command_to_run" | at [runtime]

Untuk menjadwalkan at pekerjaan yang mengirimkan echo perintah output ke file, gunakan:

echo "hello" >> example.txt | at now

Gunakan perintah cat untuk memeriksa apakah file tersebut ada untuk memastikan pekerjaan telah dijalankan:

cat example.txt

Melihat Pekerjaan Terjadwal

-c opsi menampilkan konten pekerjaan yang dijadwalkan sebelumnya. Opsi ini berguna jika Anda lupa pekerjaan apa atau ingin memeriksa waktu yang dijadwalkan.

Lihat isi jadwal at pekerjaan menggunakan sintaks berikut:

at -c [job_number]

Dapatkan nomor pekerjaan dengan menjalankan atq perintah pertama untuk mendaftar semua pekerjaan yang tertunda.

Misalnya:

Pada contoh di atas, pertama-tama kami meminta daftar semua pekerjaan yang tertunda untuk mendapatkan nomor pekerjaan dan kemudian menampilkan konten pekerjaan 14 dalam output standar.

Mencantumkan Pekerjaan Terjadwal

at utilitas memungkinkan Anda untuk meninjau pekerjaan mana yang masih dalam antrian dan eksekusi yang tertunda. Ada dua cara untuk melihat tugas yang tertunda:

  • Jalankan atq perintah.
  • Gunakan -l pilihan.

Misalnya:

at -l

Output menunjukkan nomor pekerjaan yang tertunda, tanggal, waktu, tahun, dan antrian untuk pengguna saat ini. Untuk membuat daftar pekerjaan yang tertunda dari semua pengguna, jalankan perintah dengan sudo .

sudo atq

Pada contoh di atas, menjalankan atq menunjukkan pekerjaan yang tertunda hanya untuk pengguna saat ini. Menjalankan atq dengan sudo menunjukkan pekerjaan yang tertunda untuk semua pengguna.

Kirim Email Notifikasi saat Eksekusi

at utilitas mengirimkan pemberitahuan email tentang pekerjaan yang diselesaikan secara default. Notifikasi email memerlukan alamat email yang berfungsi yang dikonfigurasi untuk akun pengguna Anda, dan sistem harus dapat mengirim email.

Untuk menginstruksikan at untuk mengirim pemberitahuan email tentang penyelesaian pekerjaan, meskipun tidak ada keluaran, tentukan -m pilihan.

Misalnya:

rm example.txt | at -m tomorrow

Perintah di atas menjadwalkan pekerjaan untuk waktu saat ini besok. Setelah selesai, at utilitas memberi tahu pengguna menggunakan alamat email yang dikonfigurasi untuk pengguna bosko .

Jalankan Pekerjaan Tanpa Memberitahu

Untuk menghindari pemberitahuan email tentang pekerjaan yang telah selesai, tentukan -M opsi saat menjadwalkan at pekerjaan.

Misalnya:

echo "shutdown -h now" | at -M 00:00

Pada contoh di atas, kami menjadwalkan penonaktifan sistem untuk tengah malam dan menggunakan -M opsi untuk mencegah utilitas mengirim pemberitahuan email.

Hapus Pekerjaan Terjadwal

Untuk menghapus at scheduled yang dijadwalkan pekerjaan, tentukan -r opsi, atau jalankan atrm perintah bersama dengan ID pekerjaan. Dapatkan ID pekerjaan dengan menjalankan atq atau menggunakan -l pilihan.

Dalam contoh berikut, kami menghapus tugas 12:

Batasi Pengguna

at package menggunakan dua file untuk membatasi at dan batch akses perintah:

  • /etc/at.allow
  • /etc/at.deny

Edit file untuk mengizinkan hanya pengguna tertentu untuk membuat, menghapus, atau menampilkan at . yang tertunda pekerjaan. File adalah daftar nama pengguna yang dapat atau tidak dapat mengakses at perintah. Karakter baris baru memisahkan nama pengguna, dan spasi tidak diizinkan.

Penting :Jika /etc/at.allow file ada, hanya pengguna yang terdaftar di dalamnya yang diizinkan untuk menggunakan at atau batch , dan /etc/at.deny berkas diabaikan. Jika /etc/at.allow file tidak ada, pengguna terdaftar di /etc/at.deny tidak diperbolehkan menggunakan at atau batch . Pengguna root selalu dapat mengeksekusi at perintah, terlepas dari file kontrol akses.

Edit /etc/at.deny file dengan hak sudo untuk menolak akses pengguna ke at perintah. Pada contoh berikut, kami mengedit file menggunakan editor vi:

sudo vi /etc/at.deny

Setelah menambahkan nama pengguna ke daftar, jalankan at perintah menggunakan akun pengguna yang dibatasi menghasilkan pesan berikut:

Jalankan Pekerjaan Saat Memuat Sistem Mengizinkan

batch perintah (-b option) menjadwalkan at pekerjaan untuk dieksekusi ketika rata-rata beban sistem turun di bawah 1,5. Menjalankan tugas saat beban sistem rendah mencegah konsumsi semua sumber daya sistem dan memastikan pengoperasian sistem yang optimal.

Misalnya, tugas berikut dijalankan segera setelah beban sistem turun di bawah 1,5:

batch
echo "Hello world!" >> hello.txt

Ubuntu
  1. Cara menggunakan perintah grep Linux

  2. Cara Menggunakan Perintah id di Linux

  3. Cara menggunakan perintah "layar" di Linux

  1. Cara menggunakan perintah history di Linux

  2. Cara Menggunakan Perintah Apt-Get di Linux

  3. Cara Menggunakan Perintah Sudo di Linux

  1. Cara Menggunakan Perintah locate di Linux

  2. Cara Menggunakan Perintah sejarah Linux

  3. Cara Menggunakan Perintah Linux xargs