spot_img
Thursday, September 12, 2024
spot_img
HomeTechBilgi TeknolojisiLinux at, toplu iş, atq ve atrm komutları

Linux at, toplu iş, atq ve atrm komutları

-

Linux at, toplu iş, atq ve atrm komutları

Unix benzeri işletim sistemlerinde, at, batch, atq ve atrm komutları, gelecekte belirli bir zamanda yürütülecek bir komut veya komutlar planlayabilir.

Bu sayfa at, batch, atq ve atrm’nin GNU/Linux sürümlerini kapsar.

Açıklama

at komutu, normalde çalıştırma izniniz olan belirli bir zamanda bir kez çalışacak şekilde bir komutu zamanlar. at komutu, basit bir hatırlatma mesajından karmaşık bir komut dosyasına kadar herhangi bir şey olabilir. Komut satırında at komutunu çalıştırarak ve seçenek olarak planlanan zamanı geçirerek başlarsınız. Daha sonra sizi, planlanan zamanda çalıştırmak için komutu (veya komut dizisini) yazabileceğiniz özel bir komut istemine yerleştirir. İşiniz bittiğinde, yeni bir satırda Control-D’ye basın, komutunuz kuyruğa alınacaktır.

Tipik bir komut dizisi şuna benzer (yazdığınız komutlar burada mavi kutuda veya aşağıda kalın harflerle gösterilir):

at 9:30 PM Tue
warning: commands will be executed using /bin/sh
at> echo "It's 9:30 PM on Sunday."
at> ^D
job 1 at Sun Nov 16 09:30:00 2014

Komutu çalıştırdığımızda, yaptığımız ilk şey bize komutlarımızın hangi komut kabuğuyla çalıştığını söyleyen bir “uyarı” vermek oldu: bu durumda /bin/sh, Bourne Kabuğu. Bu kabuk, geleneksel standart Unix kabuğudur.

Daha sonra bizi at> istemine yerleştirir. Burada, bir metin dizisini yankılayan basit bir yankı komutu yazıyoruz. basıyoruz Girmek, ve yeni bir komut istemine yerleştiriliriz. Ardından Control-D’ye basarak komutlarımızla işimizin bittiğini söyleriz. Daha sonra bize işimizin 1 numaralı iş olduğunu ve önümüzdeki Salı çalışacağını söyler.

Not

Belirttiğiniz komutun çıktısı size postalanır. Bu maili mail programı veya pine (veya alpine denilen modern versiyonu pine) gibi bir program ile okuyabilirsiniz. Eğer sizde yoksa bu programları indirebilir veya paket yöneticiniz ile kurabilirsiniz. Örneğin, APT paket yönetim sistemini kullanan Ubuntu’da, bunları özellikle apt-get komutunu kullanarak yükleyebilirsiniz: sudo apt-get install mail veya sudo apt-get install alpine.

Saat Belirtme

at zaman ve tarihin çok rahat bir temsilini kullanır. Hatta beklemeyeceğiniz bazı “yaygın olarak kullanılan” saatleri bile biliyor – örneğin “çay saatinin” geleneksel olarak 16:00’da olduğunu biliyor.

Bir komutu programlamak için at atabileceğiniz zaman örnekleri burada. Örneğin, geçerli saatin 18 Ekim 2014 Salı 10:00 AM olduğunu varsayalım. Aşağıdaki ifadeler aşağıdaki saatlere çevrilir:

ifade: çevirecekti:
öğle vakti 12:00 PM 18 Ekim 2014
gece yarısı 12:00 AM 19 Ekim 2014
çay zamanı 16:00 PM 18 Ekim 2014
yarın 10:00 AM 19 Ekim 2014
yarın öğlen 12:00 PM 19 Ekim 2014
gelecek hafta 10:00 AM 25 Ekim 2014
gelecek pazartesi 10:00 AM 24 Ekim 2014
Cuma 10:00 21 Ekim 2014
KASIM 10:00 AM 18 Kasım 2014
09:00 9:00 AM 19 Ekim 2014
14:30 2:30 PM 18 Ekim 2014
1430 2:30 PM 18 Ekim 2014
yarın 14:30 2:30 PM Ekim 19 2014
gelecek ay 14:30 14:30 18 Kasım 2014
14:30 Cum 2:30 PM 21 Ekim 2014
2:30 PM 21/10 2:30 PM 21 Ekim 2014
21 Ekim 14:30 2:30 PM 21 Ekim 2014
14:30 21/10/2014 2:30 PM 21 Ekim 2014
14:30 21.10.14 2:30 PM 21 Ekim 2014
şimdi + 30 dakika 10:30 AM 18 Ekim 2014
şimdi + 1 saat 11:00 AM 18 Ekim 2014
şimdi + 2 gün 10:00 AM 20 Ekim 2014
16:00 + 2 gün 16:00 PM 20 Ekim 2014
şimdi + 3 hafta 10:00 AM 8 Kasım 2014
şimdi + 4 ay 10:00 AM 18 Şubat 2015
şimdi + 5 yıl 10:00 AM Ekim 18 2019

Yani, komutu çalıştırırsanız:

at now + 10 years

Ardından at> komut isteminde bir komut girin, Girmektıklayın ve Control-D yazın, bundan on yıl sonra komutunuzun sonuçları size postayla gönderilir.

Not

Komut satırında bir saat belirtmezseniz, aşağıdaki hata mesajını verir:

Garbled time

Kuyruğa hiçbir iş eklenmez. Bu nedenle, her zaman komut satırında zamanınızı belirtin.

Sıradaki durumunuzu görüntülemek için atq kullanma

Şu anda sıraya alınmış işlerinizi görüntülemek için atq programını kullanabilirsiniz. Sırayı görüntülemek için atq yazın.

atq
1      Fri Oct 22 09:48:00 2014 a hope

Bu bilgiler soldan sağa: iş numarası, tarih, saat, yıl, sıra ve kullanıcı adı.

atq programı, tüm kullanıcıların işlerini listelediği süper kullanıcı değilseniz, yalnızca size ait işleri listeler. Bu nedenle, sistemde şu anda sıraya alınmış tüm işleri listelemek için bu komutu yazın (süper kullanıcı ayrıcalıklarınız varsa):

sudo atq

İstendiğinde parolanızı yazın.

Sözdizimi

at [-V] [-q queue] [-f file] [-mMlv] timespec...
at [-V] [-q queue] [-f file] [-mMkv] [-t time]
at -c job [job...]
atq [-V] [-q queue]
at [-rd] job [job...]
atrm [-V] job [job...]
batch
at -b

Teknik Açıklama

at ve toplu okuma komutları standart girdiden veya daha sonra yürütülecek belirli bir dosyadan sh kullanılarak.

at belirli bir zamanda komutları yürütür.

atq, kullanıcı süper kullanıcı değilse, kullanıcının bekleyen işlerini listeler; bu durumda, herkesin işleri listelenir. Çıktı satırlarının formatı (her iş için bir tane) şöyledir: iş numarası, tarih, saat, yıl, kuyruk ve kullanıcı adı.

atrm, iş numaralarıyla tanımlanan işleri siler.

sistem yük seviyeleri izin verdiğinde toplu komutları yürütür; başka bir deyişle, yük ortalaması 1.5’in altına düştüğünde veya atd’nin çağrılmasında belirtilen değer.

At, POSIX.2 standardını genişleterek oldukça karmaşık zaman özelliklerine izin verir. Günün belirli bir saatinde bir işi çalıştırmak için SS:MM biçimindeki zamanları kabul eder. (O zaman zaten geçmişse, ertesi gün varsayılır.) Ayrıca gece yarısı, öğlen veya çay saati (16:00) belirtebilirsiniz ve sabah veya akşam koşmak için AM veya PM eklenmiş bir günün saati olabilir. akşam. Ayrıca isteğe bağlı bir yıl ile ay-adı gün formunda bir tarih vererek veya MMDD formunda bir tarih vererek işin hangi gün çalıştığını da söyleyebilirsiniz.[CC]YY, AA/GG/[CC]YY, GG.AA.[CC]YY veya [CC]YY-AA-GG. Bir tarihin belirtilmesi, günün saatinin belirtimini takip etmelidir. Ayrıca şimdi + sayım zaman birimleri gibi zaman birimleri verebilir, zaman birimlerinin dakika, saat, gün veya hafta olabileceği ve saatin sonuna bugün ekleyerek işi bugün çalıştırmasını ve işi yarın çalıştırmasını söyleyebilirsiniz. zamanı yarına ekleyerek.

Örneğin, bir işi bundan üç gün sonra 16:00’da çalıştırmak için 16:00 + 3 gün, bir işi 31 Temmuz 10:00’da, 31 Temmuz 10:00’da ve bir işi 1:00’de çalıştırmak için yaparsınız. yarın, yarın gece 1’de yaparsın.

Zaman belirtiminin tanımı /usr/share/doc/at/timespec içinde bulunur.

Hem at hem de toplu için komutlar, standart girdiden veya -f seçeneğiyle belirtilen dosyadan okunur ve yürütülür. Çalışma dizini, ortam (BASH_VERSINFO, DISPLAY, EUID, GROUPS, SHELLOPTS, TERM, UID ve _ değişkenleri hariç) ve umask, çağırma anından itibaren korunur.

at şu anda bir setuid programı olarak uygulandığından, diğer ortam değişkenleri de (örneğin, LD_LIBRARY_PATH veya LD_PRELOAD) dışa aktarılmaz. Bu gelecekte değişebilir. Geçici bir çözüm olarak, işinizde bu değişkenleri açıkça ayarlayın.

Bir su kabuğundan çalıştırılan bir at veya toplu komut, mevcut kullanıcı kimliğini koruyacaktır. Kullanıcıya standart hata ve varsa komutlardan standart çıktı gönderilir. Posta, /usr/sbin/sendmail komutu kullanılarak gönderilecektir. at bir su kabuğundan yürütülürse, oturum açma kabuğunun sahibi postayı alır.

Süper kullanıcı bu komutları her zaman kullanabilir. Diğer kullanıcılar için, at kullanım izni /etc/at.allow ve /etc/at.deny dosyaları tarafından belirlenir. Ayrıntılar için at.allow’a bakın.

Seçenekler

-V Sürüm numarasını standart hataya yazdırır ve başarıyla çıkar.

-q kuyruğu

Belirtilen kuyruğu kullanır. Sıra ataması tek bir harften oluşur; geçerli kuyruk atamaları a’dan z’ye ve A’dan Z’ye değişir. a kuyruğu at için ve b kuyruğu toplu iş için varsayılandır. Daha yüksek harfli kuyruklar daha fazla nezaketle çalışır. “=” özel kuyruğu, şu anda çalışmakta olan işler için ayrılmıştır.

Bir iş, büyük harfle belirlenmiş bir kuyruğa gönderilirse, iş, iş anında toplu işlere gönderilmiş gibi işlem görür. Süreye ulaşıldığında, yük ortalamasına göre toplu işleme kuralları uygulanır. atq’ya belirli bir sıra verilirse, yalnızca o sırada bekleyen işleri gösterir.

-m Çıktı olmasa bile iş tamamlandığında kullanıcıya posta gönderin.
-M Kullanıcıya asla posta göndermeyin. Başka bir deyişle, komutu yürütün, ancak çıktısını kullanıcıya bildirmeyin.

-f dosyası

İşi standart girdi yerine dosyadan okur.

-t zaman

Biçimde verilen işi zamanında çalıştırın [[CC]YY]AADDhhmm[.ss].
-l -l’de koşmak, atq’da koşmakla aynıdır; tüm işlerde sıraya alınanları görüntüler.
-r Atrm’yi çalıştırmakla aynı şey. Bir işi kuyruktan kaldırır.
-NS Ayrıca atrm için bir takma addır.
-B Toplu iş için bir takma addır.
-v İşi okumadan önce işin yürütüleceği zamanı gösterir. Gösterilen saatler “20 Şubat 14:50:00 1997” biçiminde olacaktır.
-C Komut satırında listelenen işleri standart çıktıya yönlendirir.

Dosyalar

/var/spool/cron/atjobs
/var/spool/cron/atspool
/proc/loadavg
/var/run/utmp
/etc/at.allow
/etc/at.deny

Örnekler

at -m 01:35 < my-at-jobs.txt

‘my-at-jobs.txt’ dosyasında listelenen komutları 1:35’te çalıştırın. İşin tüm çıktıları, görevi çalıştıran kullanıcıya postalanır. Bu komut başarıyla girildiğinde, aşağıdaki örneğe benzer bir istem alırsınız:

commands will be executed using /bin/sh
job 1 at Wed Dec 24 00:22:00 2014
at -l

Bu komut, zamanlanmış işlerin her birini aşağıdaki gibi bir biçimde listeler:

1          Wed Dec 24 00:22:00 2003

…bu, atq komutunu çalıştırmakla aynıdır.

at -r 1

1. işi siler. Bu komut, atrm 1 komutunu çalıştırmakla aynıdır.

atrm 23

İş 23’ü siler. Bu komut, komutu -r 23’te çalıştırmakla aynıdır.

crontab — Sistemin düzenli aralıklarla çalışması için işlerin listesini görüntüleyin ve düzenleyin.

Related articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Stay Connected

0FansLike
0FollowersFollow
0FollowersFollow
0SubscribersSubscribe
Saçınızda Kahve Kullanmanın Faydaları Nelerdir?

Latest posts