Kullanım
at [-q queue] [-f file] [-mldbv] time
at [-q queue] [-f file] [-mldbv] -t [[CC]YY]MMDDhhmm[.SS]
at -c job [job ...]
at -l [job ...]
at -l -q queue
at -r job [job ...]
atq [-q queue] [-v]
atrm job [job ...]
batch [-q queue] [-f file] [-mv] [time]
Açıklama
at ve batch araçları, sh(1) kullanarak daha sonraki bir zamanda yürütülecek komutları standart girdiden veya belirtilen bir dosyadan okur.
at komutları belirtilen bir zamanda yürütür;
atq kullanıcı süper kullanıcı (superuser) olmadıkça kullanıcının bekleyen işlerini listeler; süper kullanıcı durumunda ise herkesin işleri listelenir;
atrm işleri siler;
batch komutları sistem yük seviyeleri izin verdiğinde yürütür; başka bir deyişle, yük ortalaması aktif CPU sayısının 1.5 katının veya atrun çağrısında belirtilen değerin altına düştüğünde.
at aracı orta derecede karmaşık zaman belirtimlerine izin verir. Bir işi günün belirli bir saatinde çalıştırmak için HHMM veya HH:MM biçimindeki zamanları kabul eder. (Bu zaman zaten geçmişse, sonraki gün olduğu varsayılır.) Alternatif olarak şu anahtar sözcükler de belirtilebilir: sabah, akşam veya UTC saatlerinde çalıştırmak için midnight (gece yarısı), noon (öğle) veya teatime (saat 16:00) yazılabilir ve günün saatine AM, PM veya UTC son eki eklenebilir. İşin çalıştırılacağı gün, ay-adı gün ve isteğe bağlı yıl biçiminde bir tarih verilerek veya DD.MM.YYYY, DD.MM.YY, MM/DD/YYYY, MM/DD/YY, MMDDYYYY veya MMDDYY biçimlerinde bir tarih verilerek de belirtilebilir. Tarih belirtimi günün saati belirtiminden sonra gelmelidir. Zaman ayrıca şu şekilde de belirtilebilir: [now] + miktar zaman-birimi; burada zaman-birimi minutes (dakika), hours (saat), days (gün), weeks (hafta), months (ay) veya years (yıl) olabilir ve at aracına işi bugün çalıştırması için zamanın sonuna today, yarın çalıştırması için tomorrow son eki eklenmesi söylenebilir. + 1 yerine next kısayolu kullanılabilir.
Örneğin, bir işi şu andan itibaren üç gün sonra saat 16:00'da çalıştırmak için at 4pm + 3 days, 31 Temmuz saat 10:00'da çalıştırmak için at 10am Jul 31 ve yarın gece 01:00'de çalıştırmak için at 1am tomorrow kullanın.
at aracı ayrıca POSIX zaman biçimini de destekler (-t seçeneğine bakın).
Hem at hem de batch için komutlar standart girdiden veya -f seçeneği ile belirtilen dosyadan okunur ve yürütülür. Çalışma dizini, ortam (TERM, TERMCAP, DISPLAY ve _ değişkenleri hariç) ve umask değerleri çağrı anındakiyle aynı tutulur. Bir su(1) kabuğundan çağrılan at veya batch komutu, geçerli kullanıcı kimliğini (userid) korur. Kullanıcıya, varsa komutlarının standart hata ve standart çıktıları e-posta ile gönderilecektir. E-posta, sendmail(8) komutu kullanılarak gönderilecektir. at bir su(1) kabuğundan yürütülmüşse, e-postayı oturum açma kabuğunun (login shell) sahibi alacaktır.
Süper kullanıcı bu komutları her durumda kullanabilir. Diğer kullanıcılar için at kullanma izni /usr/lib/cron/at.allow ve /usr/lib/cron/at.deny dosyaları tarafından belirlenir.
/usr/lib/cron/at.allow dosyası mevcutsa, yalnızca içinde adı geçen kullanıcıların at kullanmasına izin verilir. Bu iki dosyada, bir kullanıcının listelenmiş sayılması için kullanıcı adının satırında önünde boşluk veya başka karakterlerin bulunmaması ve dosyanın sonunda bile olsa adın hemen ardından bir yeni satır (newline) karakterinin gelmesi gerekir. Diğer satırlar yoksayılır ve yorumlar için kullanılabilir.
/usr/lib/cron/at.allow mevcut değilse, /usr/lib/cron/at.deny dosyası kontrol edilir; bu dosyada adı geçmeyen her kullanıcının at kullanmasına izin verilir.
Her iki dosya da mevcut değilse, yalnızca süper kullanıcının at kullanmasına izin verilir. Bu, varsayılan yapılandırmadır.
Uygulama Notları
at aracının, varsayılan olarak devre dışı bırakılmış olan launchd(8) arka plan programının (daemon) periyodik olarak atrun(8) aracını çağırmasıyla uygulandığını unutmayın. atrun'ı etkinleştirme hakkında bilgi için atrun(8) kılavuzuna bakın.
Seçenekler
-q queue Belirtilen sırayı (queue) kullanır. Bir sıra tanımı tek bir harften oluşur; geçerli sıra tanımları a ile z ve A ile Z arasındadır. a sırası at için, b sırası ise batch için varsayılandır. Daha büyük harflere sahip sıralar daha yüksek niceness (öncelik düşürme) değeriyle çalışır. Büyük harfle tanımlanmış bir sıraya bir iş gönderilirse, o sırada batch'e gönderilmiş gibi işlem görür. atq komutuna belirli bir sıra verilirse, yalnızca o sıradaki bekleyen işleri gösterir.
-m: Çıktı olmasa bile iş tamamlandığında kullanıcıya e-posta gönderir.
-f file İşi standart girdi yerine file dosyasından okur.
-l: Hiçbir bağımsız değişken verilmediğinde, çağıran kullanıcı için tüm işleri listeler. Bir veya daha fazla iş numarası verilirse, yalnızca o işleri listeler.-d: atrm için bir takma addır (bu seçenek kullanımdan kaldırılmıştır; bunun yerine -r kullanın).-b: batch için bir takma addır.-v: atq için, sıradaki tamamlanmış ancak henüz silinmemiş işleri gösterir; aksi takdirde işin yürütüleceği zamanı gösterir.-c: Komut satırında listelenen işleri standart çıktıya yönlendirir (cat işlemi).-r: Belirtilen işleri kaldırır.-t: İş zamanını POSIX zaman biçimini kullanarak belirtir. Bağımsız değişken [[CC]YY]MMDDhhmm[.SS] biçiminde olmalıdır; burada her harf çifti aşağıdakileri temsil eder:
CC Yılın ilk iki hanesi (yüzyıl). YY Yılın ikinci iki hanesi. MM Yılın ayı, 1 ile 12 arasında. DD Ayın günü, 1 ile 31 arasında. hh Günün saati, 0 ile 23 arasında. mm Saatin dakikası, 0 ile 59 arasında. SS Dakikanın saniyesi, 0 ile 60 arasında.
CC ve YY harf çiftleri belirtilmezse, değerler varsayılan olarak geçerli yıla ayarlanır. SS harf çifti belirtilmezse, değer varsayılan olarak 0'a ayarlanır.
Dosyalar
/usr/lib/cron/jobs iş dosyalarını içeren dizin /usr/lib/cron/spool çıktı kuyruğu (spool) dosyalarını içeren dizin /var/run/utmpx oturum açma kayıtları /usr/lib/cron/at.allow izin verme denetimi /usr/lib/cron/at.deny reddetme denetimi /usr/lib/cron/jobs/.lockfile iş oluşturma kilit dosyası
Ayrıca Bakınız
nice(1), sh(1), umask(2), compat(5), atrun(8), cron(8), launchd(8), sendmail(8)
Yazarlar
At çoğunlukla Thomas Koenig ig25@rz.uni-karlsruhe.de tarafından yazılmıştır. Zaman çözümleme rutinleri David Parsons orc@pell.chi.il.us tarafından yazılmış ve Joe Halpin joe.halpin@attbi.com tarafından küçük geliştirmeler yapılmıştır.
Hatalar
/var/run/utmpx dosyası mevcut değilse veya bozuksa ya da at çağrıldığı sırada kullanıcı oturum açmamışsa, e-posta LOGNAME ortam değişkeninde bulunan kullanıcı kimliğine gönderilir. Bu değişken tanımlanmamış veya boşsa, geçerli kullanıcı kimliği varsayılır.
Şu anda uygulanan haliyle at ve batch araçları, kullanıcılar kaynaklar için rekabet ettiğinde uygun değildir. Eğer durum böyleyse, nqs gibi başka bir toplu iş (batch) sistemi daha uygun olabilir.
2038 yılından sonrasına ait bir tarih belirtmek bazı sistemlerde çalışmayabilir.
macOS 26.4 August 11, 2018 macOS 26.4