Pythontr

husonet | Tarih: 23.07.2014

Cron: >/dev/null 2>&1 ve >/dev/null arasındaki farklar

Cron çıktılarını yönlendirmenin yolları.

Linux veya Unix CRON kullanırken, hedeflenen zamanlamada otomatik çalıştırdığı prosessleri yada scriptleri otomatik olarak belirlenen e-posta adresine çıktıları gönderir ve ayrıca konsol ekranında görüntüler.

Komut satırının sonuna "> / dev / null 2> & 1" ekleyerek cron işleri e-posta çıkışını devre dışı bırakabilirsiniz. ">/dev/null 2> & 1" ile sorun cron işleri tarafından döndürülen standart çıktı ve standart hata hem de e-posta bildirimi olmadan göz ardı edilir.

Peki bu kuyruğa atılan dize yi açıklamaya çalışalım.

Büyüktür işareti (>) başka bir yerde veya bir komut (bu işaretin sağ tarafında bulunur) için programın çıkış (bu işaretin sol kısmında bulunan) yönlendirmek içindir. "> /dev/null 2>&1" olarak, /dev/null yönlendiriliyorsunuz. &1 içine 2 yönlendirir ikinci kısmı (yani 2>&1) bulunmaktadır.

0,1,2 numaralarının anlamları sırasıyla STDIN, STDOUT and STDERR biz burada STDOUT u kullanmış oluyoruz.

Olayı detaylandırmak istersek, ">/dev/null 2>&1" tüm standart çıktıyı atmak için /dev/null a yönlendirir, ve 2 (hata veya herhangi bir mesajı) 1 (standart olarak yönlendirildi ya da tüm hata, uyarı mesajları ile çıkış) özetlemek gerekirse, cron işi başarıyla tamamlanmış olsun veya olmasın, herhangi bir bildirimde bulunmaksızın yürütecektir. 1 önündeki & işareti dosya tanımlayıcı hedef için standart sözdizimidir.

Örnekleyelim
Hiç bir şekilde consoldan yada eposta yoluyla bildirim olmaz.
* * * * * /sbin/ping -c 5 www.pythontr.com > /dev/null 2>&1

Sadece eposta yoluyla bildirim almak istiyorsanız. Standart çıktıyı göz ardı etmek istiyorsanız kullanabilirsiniz.
* * * * * /sbin/ping -c 5 www.pythontr.com > /dev/null