sus - Bulutta Çevrimiçi

Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen shush komutudur.

Program:

ADI


sus - Bir komut çalıştır ve isteğe bağlı olarak çıktısını postayla bildir

SİNOPSİS


sus [ -h | -V ]

sus [ -c dir ] [ -S | -s tesis ] [ -vfmk ] isim [ ID ]

sus [ -c dir ] [ -H için ] [ -R için ] [ -T için ] -C isim [ stdout'u [ Stderr ]]

sus [ -i | -u | -r ] [ -c dir ]

TANIM


sus bir komutu çalıştırır ve isteğe bağlı olarak çıktısını postayla bildirir. Kullanışlı bir sarıcıdır
cron işleri etrafında. Varsayılan olarak, sus olarak çalıştırırken herhangi bir çıktı üretmeyecek
her şey (eğer bir şey varsa) postayla bildirilir. Ancak, yapılandırmanın yanı sıra kritik
hatalar standart hata ve (isteğe bağlı olarak) sistem günlüğünde rapor edilecektir. Çünkü
kesintiye sus herhangi bir çıktının olası kaybı da dahil olmak üzere korkunç sonuçlara sahiptir.
komut, aşağıdaki yaygın olarak kullanılan sinyaller tarafından yok sayılır sus: SIGHUP, SIGINT, SIGHUP
ve SIGTERM. Biri gerçekten çalışan bir örneğini öldürmek istiyorsa sus öldürmek yerine
çalışan yönetilen komut, SIGKILL kullanılabilir ve bunun nasıl yapıldığının bir hatırlatıcısı olarak hizmet edecektir.
uygunsuz böyle bir eylem tipiktir.

Kullanılarak çalıştırılacak bir komut için sus, bir yapılandırma dosyası isim içinde var olmalı
yapılandırma dizini ($HOME/.sus varsayılan olarak). Bu dosya, komutun nasıl
raporların ne zaman posta ile gönderileceği de çalıştırılmalıdır. Mevcut detaylar için
yapılandırma parametreleri, bkz. YAPILANDIRMA aşağıdaki bölüm.

İki ek yapılandırma dosyası mevcut olabilir: isim.stdout ve isim.stderr (varsayılan olarak).
Bu dosyalar standart çıktıya ve standart hataya (sırasıyla) bakmak için kullanılır.
komutu ile üretilir. Bunların nasıl kullanılacağına ilişkin ayrıntılar için bkz. KOMUT ÇIKTI Bölüm
altında.

Zaman -C seçenek belirtilir, sus isteğe bağlı olarak yalnızca yapılandırmayı yükleyecektir
belirtilen dosyalardan standart çıktıyı ve standart hatayı analiz edin ve son olarak
istenirse örnek raporlar üretin. Bu, aşağıdaki durumlarda raporlar oluşturmak için de kullanılabilir: sus
bir komut çalıştırılırken düzgün şekilde sonlandırılamadı. (Standart çıktı ve hata
komut normalde /tmp altında bulunan dosyalarda bulunur.)

sus yönetebilir crontab(5) kullanıcı tarafından tanımlanan konfigürasyonlara dayalı girişler.
Bu iki yoldan biriyle yapılabilir. " adlı bir dosya varsaprogram"
yapılandırma dizini, ardından zamanlama bilgisi için okunur. Her satır gerekir
boşluk(lar) ile ayrılmış üç alan içeren tek bir giriş içerir. alanlar
(sırayla) girişin geçerli olduğu ana bilgisayar adı veya tümünü içerecek "*" karakteri
ana bilgisayarlar, yapılandırma isimve son olarak, aynı formatta zamanlama bilgileri
tarafından kullanıldığı gibi program parametre (aşağıya bakın). belirtmek için IDKullanmak isim:ID gibi
ikinci alan. "adlı bir dosya yoksaprogram", sonra sus yapılandırmayı kontrol eder
yapılandırma dosyaları için dizin ve bunları mevcut kullanıcının dizinine ekler. crontab(5) olarak dosya
dahil tarafından belirtilen program parametre (aşağıya bakın). İsimleri ile başlayan dosyalar
"#" karakteri veya "~" karakteriyle biten yok sayılır.

SEÇENEKLER


-h Kısa bir yardım mesajı görüntüleyin.

-V Sürüm bilgilerini görüntüleyin. ile önek -v derleme zamanı varsayılanlarını görüntülemek için.

-c dir Yapılandırmaların depolandığı dizini belirtin.

-s tesis
Günlüğe kaydetme için kullanılacak sistem günlüğü özelliğini tanımlar.

-S Sistem günlüğü kaydını devre dışı bırakın.

-v Bilgi günlüğü mesajlarını standart çıktıya kopyalayın.

-f Hızlı mod: Herhangi bir yapılandırılmış rastgele gecikme dikkate alınmaz.

-m Komutun standart çıktısını ve hatasını gerçek zamanlı olarak izleyin ve görüntüleyin.

-k Tamamlandığında silmek yerine komutun çıktı günlük dosyalarını saklayın.

-C Herhangi bir komut çalıştırmadan yapılandırmayı kontrol edin.

-H için Belirtilen alıcılara örnek bir HTML raporu gönderin.

-R için Belirtilen alıcıya/alıcılara örnek zenginleştirilmiş bir rapor gönderin.

-T için Belirtilen alıcıya/alıcılara örnek bir metin raporu gönderin.

-i kullanım crontab(1) yeni kurmak crontab(5) Geçerli kullanıcı için dosya. Kullanıcı
zaten sahip olmamalı crontab(5) dosyası.

-u kullanım crontab(1) mevcut kullanıcının bilgilerini güncellemek için crontab(5) zaten olması gereken dosya
var olmak.

-r tarafından eklenen herhangi bir girişi kaldırın. -u mevcut kullanıcının seçeneğinden crontab(5).

YAPILANDIRMA


sus konfigürasyon dosyaları bir ana bölüm, rapor bölümü/bölümleri ve parametrelerden oluşur.
Ana bölüm, raporlar için varsayılanların yanı sıra global parametreleri de tanımlar. Her rapor
bölüm, parantez içinde raporun adı ile başlar. ile başlayan satırlar
"#" karakteri yoksayılır. Parametreler yalnızca bir kez belirtilmelidir. belirtilmişse
birden çok kez, aksi belirtilmedikçe, son olay hariç tümü yok sayılır.
Parametreler aşağıdaki sözdizimi kullanılarak tanımlanır:

isim=değer

ya da alışveriş sepetinize tıklayın:

isim@hostname=değer

ya da alışveriş sepetinize tıklayın:

isim%ID=değer

veya nihayet:

isim@hostname%ID=değer

İkinci ve dördüncü biçimler, sus belirtilen üzerinde çalışıyor
ana bilgisayar adı. Üçüncü ve dördüncü biçimler, tek bir dosyanın birden çok örneğini tanımlamaya izin verir.
yapılandırma dosyası. Bu tür yapılandırma dosyaları bir örnek gerektirir ID içinde belirtilecek
çalıştırmak için sipariş. Üçüncü veya dördüncü biçimleri kullanan herhangi bir yapılandırma satırı, aşağıdaki durumlarda yoksayılacaktır.
the ID bu satırda bulunan örnekle eşleşmiyor ID koşmak için kullanılır sus.

Ana bölümde aşağıdaki parametreler görünebilir:

komuta
Çalıştırılacak gerçek komut. sus çalıştırmadan önce iki ortam değişkeni ayarlar
komut: SHUSH_NAME ayarlandı isim, ve SHUSH_ID ayarlandı ID.

yapılandırma Bu, ana yapılandırma dosyasının tam yolunu varsayılan olarak ayarlar. Diğer ikisi
yapılandırma dosyası adları ".stdout" ve ".stderr" eklenerek elde edilir.
bu parametrenin değerine ekler.

kilitlemek Ayarlanırsa, bu parametre talimat verir sus çalıştırmadan önce bir kilit dosyası elde etmek için
komutadurumunda yapılacak işlemleri tanımlar ve kilit dosyası başkası tarafından tutulur
işlem. Biçim, virgülle ayrılmış bir eylemler listesidir. Geçerli eylemler şunlardır: a
zaman süresi (bu süre içinde sus sadece beklemeli ve elde etmeye çalışmaya devam etmeli
kilit dosyası), "iptal" dizesi (bunu belirten sus derhal sonlandırılmalı
eğer kilit dosyası zaten var), "ignore" dizesi (bunu belirten sus meli
var olanı görmezden gel kilit dosyası), "döngü" dizesi (yeniden nereden başlayacağınızı işaretlemek için
tüm eylemler yürütüldüğünde) ve "notify=" dizesi ve ardından posta
tebligat mailinin gönderileceği adresler. Eylemler şurada yürütülür:
sağladıkları sipariş ve sus almak için sonsuza kadar bekleyecek kilit dosyası
"loop" dizesi tanımlı değilse, tüm eylemler yürütüldükten sonra
hareketler. Süreler w(eek), d(ays), h(bizim) birimlerinde belirtilebilir.
m(inutes) veya s(saniye). Herhangi bir birim belirtilmemişse dakika olduğu varsayılır.

kilit dosyası
Varsayılan olarak, sus ile aynı dizinde bulunan bir dosyayı kullanır.
yapılandırma dosyası ve yapılandırma ve ana bilgisayar adlarından sonra adlandırılır. bir alternatif
dosya adı bu parametre kullanılarak belirtilebilir.

kilit mesajı
Ayarlanırsa, bu dize, kilit bildirim(ler)i posta iletilerinin konusu olarak kullanılacaktır.
Varsayılan "[%u@%h] **BEKLEMEDE** %N [%t]" şeklindedir. Bkz. POSTA KONU bölümü
formatta detaylar.

yol sus ayarlamak dışında ortamı değiştirmez. PATH değişken ise yol
parametre ayarlanır.

rastgele gecikme
Bu parametre ayarlanırsa, sus önce belirtilen süre kadar bekleyecek
ile çağrılmadığı sürece komutu başlatmak -f. Geçerli zaman birimleri: s(saniye),
m(inutes), h(bizimki), d(ays), w(eeks). Herhangi bir birim belirtilmemişse, olduğu varsayılır.
dakika.

program
Bu, bu komutun ne zaman bir cron işi olarak çalıştırılacağını tanımlar. crontab(5) uyumlu
biçim. ";" karakteri kullanılarak birden fazla giriş belirtilebilir. ayırıcı olarak.
Ön eki "#" olan girişler atlanacaktır. Bu parametre
tarafından doğrudan kullanılır sus komutu çalıştırmak için, ancak -i ve -u seçenekleri.

mail gönder
Bu, posta göndermek için kullanılan komutu geçersiz kılmak için kullanılabilir.

kabuk Varsayılan olarak, Bourne kabuğu sh(1) çalıştırmak için kullanılır komuta, herhangi bir kabuğa izin vermek
kullanılacak sözdizimi. Bu parametre kullanılarak alternatif bir kabuk tanımlanabilir.

devletdir
Bu, durumunun bulunduğu dizini tanımlar. sus kaydedilir ve varsayılan olarak
Yapılandırmanın bulunduğu ".state" dizini. Bir hata oluşturuldu
bu seçenek ayarlanmadıkça dizin mevcut değilse. Bunu ayarlamak
boş bir dize seçeneği önleyecektir sus durumunu kaydetmekten. kıyma(1)
çalışan örnekleri hakkında rapor vermek için bu durum dosyalarını kullanır. sus hem de önceki
koşar.

syslog Bu parametre bir tek tarafından kullanılan -i ve -u seçenekleri ve üzerinde başka bir etkisi yoktur.
sus. Günlüğe kaydetme için kullanılan varsayılan syslog olanağının geçersiz kılınmasına izin verir ve
derleme zamanında tanımlanır. Boş bırakılırsa, bu syslog kullanımını engeller.

zaman aşımı
Bu parametre, bir kişinin ne kadar süreceğini kontrol etmesine izin verir. komuta koşabilir. bir olmalı
virgülle ayrılmış eylem listesi. Geçerli eylemler şunlardır: bir süre (bu süre boyunca
sus sadece beklemeli komuta sonlandırmak için), bir sinyal ("SIGNAME"
veya "-SİGNUMARA") gönderilmesi gerekir. komutasüreç grubu, bir sinyal
(ya "=SIGNAME" ya da "=SIGNUMBER") gönderilmelidir. kabuk yumurtlamak için kullanılır
the komuta, "loop" dizesi (tüm eylemler başladığında yeniden nereden başlayacağını işaretlemek için)
yürütüldü) ve "notify=" dizesini ve ardından bir
bilgilendirme maili gönderilmelidir. Eylemler oldukları sırayla yürütülür
sağlanan ve sus eğer sonsuza kadar bekleyecek komuta hala bir kez çalışıyor
"loop" dizisi tanımlanmış eylemlerden biri olmadığı sürece eylemler yürütülmüştür.
Süreler w(eeks), d(ays), h(ours), m(inutes) veya
s(saniye). Herhangi bir birim belirtilmemişse dakika olduğu varsayılır.

zaman aşımı
Ayarlanırsa, bu dize zaman aşımı bildirim(ler)i postası için konu olarak kullanılacaktır.
mesajlar. Varsayılan "[%u@%h] **ZAMAN AŞIMI** %N [%t]" şeklindedir. Bkz. POSTA KONU
Biçimle ilgili ayrıntılar için bölüm.

Aşağıdaki parametreler konfigürasyonun herhangi bir yerinde görünebilir. içinde belirtilmişse
ana bölümde, herhangi bir rapora uygulanacak varsayılan ayarları tanımlarlar.
aynı parametre tanımlanmadı.

için, cc, bcc
Posta raporunun nereye gönderileceği.

konu
Posta raporunun konusu. Bkz. POSTA KONU ile ilgili ayrıntılar için bölüm
biçimi.

başlık Ek posta üstbilgileri. Bu parametrenin belirtmek için tekrarlanabileceğini unutmayın.
çoklu başlıklar Ancak, yalnızca rapordan (belirtilmişse) veya
ana bölüm verilen bir rapor için kullanılacaktır.

ana bilgisayar öneki
Varsayılan olarak, belirtilen konuların önüne parantezler arasında ana bilgisayar adı eklenir.
Bu parametre, kişinin bu öneki özelleştirmesine izin verir. Pozitif bir tamsayı gösterir
tam ana bilgisayar adının kaç bileşeninin gösterilmesi gerektiği. Olumsuz
tamsayı, tam olarak nitelenmiş ana bilgisayar adının sonunda kaç tane bileşen olduğunu gösterir
kırpılmalıdır. Sıfır tamsayı, ön ekin atlanması gerektiğini gösterir.
Bu parametre, "konu" herhangi bir "%" karakteri içeriyor.

kullanıcı ön eki
Varsayılan olarak, belirtilen konuların önüne parantezler arasında kullanıcı adı gelir.
Bu parametre, birinin bu öneki devre dışı bırakmasına izin verir. Sıfır olmayan herhangi bir değer şunu gösterir:
sıfır ön ekin atlanmasına neden olurken kullanıcı adının gösterilmesi gerekir. Bu
parametresi yoksayılır "konu" herhangi bir "%" karakteri içeriyor.

çıktı (Önceden "stderr")

Bu tanımlar Nasıl the komutlar standart çıktı ve standart hata vardır Yakalanan ve
rapor için the kullanıcı: "ilk hata", "karışık", "ilk". Ne zaman kullanma "karışık", the
isim.stderr yapılandırma dosya is görmezden geldi. Ne zaman kullanma "ilk hata" or "ilk",
bireysel raporları eğer yalnızca sığınmacı statüleri sona erdirilmemişse, kalıcı oturma iznine kullanım bir of the takip etme iki ek seçenekleri "sadece"
ve "yanlışlıkla".

biçim çıktısını gönderen posta mesajları komuta üç farklı şekilde gönderilebilir
biçimler: "metin" (varsayılan), "zenginleştirilmiş" metin veya "html".

boyut sınırı
Varsayılan olarak, çıktının tamamı komuta posta raporlarıyla gönderilir. Bu
parametre, bir rapora dahil edilen çıktının boyutunu sınırlamak için kullanılabilir. Not
Bu sınırın herhangi bir etkisi olmadığı için gönderilen toplam posta boyutunun daha büyük olacağı
posta başlıkları. Boyut, m, k, b, c (MB, KB, Bytes) birimlerinde belirtilebilir.
Herhangi bir birim belirtilmemişse, KB olduğu varsayılır. Sıfır sınırı şunu gösterir:
çıktı kesilmemelidir.

if Rapor yalnızca if koşul belirtilmişse veya belirtilmişse if
koşul doğrudur. Koşul sözdizimi, olağan mantıksal operatörlere izin verir
("||", "&&", "!"), karşılaştırma operatörleri ("==", "!=", "<", "<=", ">", ">=") ve
temel aritmetik operatörler ("+", "-"). tarafından tanımlanan sayaçların yanı sıra
yapılandırma (bkz. KOMUT ÇIKTI aşağıdaki bölüm), aşağıdaki değişkenler
kullanılacak:

$çıkış Komut normal şekilde sonlandırıldıysa, bu onun çıkış kodudur. Aksi takdirde,
negatiftir ve komutun çalışmasına neden olan sinyal numarasını gösterir.
sonlandır (örn. -1, komutun neden olduğu sinyal numarası 1'i gösterir)
sonlandır).

$ boyutu çıktı boyutu (bayt olarak), "$outsize + $errsize" ile aynı

$büyük boy
standart çıktının boyutu (bayt olarak)

$hata boyutu
standart hatanın boyutu (bayt olarak)

$çizgi satır sayısı çıktısı

$anahatlar
standart çıkış hattı sayısı

$hatalar
standart hata satırı sayısı

$çalışma zamanı
komuta çalışma süresi (saniye cinsinden)

$utime tarafından kullanılan kullanıcı zamanı komuta

$zaman tarafından kullanılan sistem zamanı komuta

$ ty 1 ise sus bir terminalden çalıştırılır (örneğin etkileşimli olarak), aksi takdirde 0.

POSTA KONULAR


"kilit mesajı""zaman aşımı" ve "konu" parametreler aşağıdaki belirteçleri içerebilir
aşağıda açıklandığı gibi genişletilir:

%% Karakter

%h ana bilgisayar adı

%
veya "%- "

A kısmen ana bilgisayar adı: A pozitif basamak gösterir Nasıl çok bileşenler of the
tamamen nitelikli hostname için Tut; a negatif basamak gösterir Nasıl çok
sondaki bileşenler of the tamamen nitelikli hostname için kırpın.

%i örnek ID

%n Yapılandırma isim

%N Yapılandırma isim ve örnek ID

%r rapor adı

%t Geçen süre.

%u Kullanıcı adı.

%U Kullanıcı kimliği.

"%" karakteri "konu" parametresi, ardından
"ana bilgisayar öneki" ve "kullanıcı ön eki" parametreleri yoksayılır.

KOMUT ÇIKTI


Sonra komuta sonlandırır, sus içeriğini kullanacak isim.stdout ve
isim.stderr tarafından üretilen çıktıya bakmak için dosyalar (varsa) komuta.

Bu dosyalar basit bir formatı takip eder. Her satır tek bir karakterden oluşur (
sayaç adı), ardından normal bir ifade gelir.

Tüm sayaçlar 0 (sıfır) olarak başlatılır. Her çıktı satırı bunlarla eşleştirilir
bir eşleşme bulunana kadar normal ifadeler. Bir eşleşme bulunursa, ilgili sayaç
bir artırılır. Bu sayaçlar daha sonra ana konfigürasyonun bir parçası olarak kullanılabilir,
bir "if" yapılandırma parametresi, bir posta raporunun gönderilmesine karar verilmesine izin verir.
belirli normal ifadelerin kaç kez eşleştiğine bağlıdır.

Son olarak, normal ifadeler, kalın harflerle gösterilecek olan alt ifadeleri tanımlayabilir.
posta raporları.

"#" karakteri ile başlayan satırlar yorum olarak kabul edilir ve dikkate alınmaz. İle
varsayılan olarak, ilk satır "#pcre" olmadığı sürece standart normal ifadeler kullanılır.
case Perl uyumlu düzenli ifadeler kullanılır.

ÇEVRE DEĞİŞKENLER


ANA SAYFA -c seçenek kullanılmaz, sus yapılandırma dosyalarını arayacak
$HOME/.sus.

SHUSH_SENDMAIL
Tanımlanmışsa, bu şuna işaret etmelidir: mail gönder(1) ikili. Bu değişken geçersiz kılar
"mail gönder" konfigürasyon ayarı ve dikkatli kullanılmalıdır.

Geçici dosyaların oluşturulduğu TMPDIR Dizini.

ÖRNEK


Aşağıdaki yapılandırma her gün saat 9:00'da "shush -c /etc/shush -u" çalıştırarak kullanıcıyı günceller
(kök) crontab:

komut=sus -c /etc/sus -u
program=0 9 * * *
lock=notify=kök kök günlükleri, iptal
zaman aşımı=5m,loop,notify=kök kök günlükleri,15m
stderr=ilk
biçim=metin
Konu=Crontab Günlük Güncelleme
[kütükler]
to=kök günlükleri
[okuyucular]
if=$çıkış != 0 || $anahatlar != 1 || $hata boyutu > 0 || sen
için = kök
biçim=zengin

Standart çıktı için ilgili konfigürasyon:
Oshush: crontab güncellendi\.$
Ü^.+$

ve standart hata için:
u^(.+)$

Komut çalıştırılırken bir kilit ayarlanır ve eğer "root" ve "root-logs" a posta gönderilir.
kilit başka bir işlem tarafından tutulduğunda sus başlar, bu durumda sus iptal edecek. A
"shush -c /etc/shush -u" daha fazlası için çalışırsa, posta "root" ve "root-logs" a da gönderilir.
5 dakikadan fazla ve ilk 15 dakikayı takip eden her 5 dakikada bir.

Tamamlandığında, çıktı her zaman "kök günlüklerine" gönderilir. Ek olarak, çıktı
"$exit != 0 || $outlines != 1 || $errsize > 0 ||
U" doğrudur. Bu koşulun doğru olması için aşağıdakilerden birinin doğru olması gerekir: çıkış
kod sıfır değil, komut standart çıktısı tek bir satır değildi, çıktı vardı
standart hata veya son olarak, "U" sayacı sıfır değil. "U" sayacının olmaması için
sıfır, "sus: crontab" satırı dışında standart çıktıda çıktı olmalıdır
güncellendi.". Son olarak, standart hatada üretilen herhangi bir çıktı satırı görüntülenecektir.
"root" a gönderilen postalarda kalın harflerle.

onworks.net hizmetlerini kullanarak çevrimiçi sus özelliğini kullanın



En yeni Linux ve Windows çevrimiçi programları