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
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