Crontab'da çalışmayan yüzde sembolleriyle komut


11

Aşağıdaki crontab çalışmıyor:

# TEST LINE DOES DOT RUN
*/1 * * * * /bin/echo 'test '`/bin/date +%Y-%m-%d` >> /tmp/test

Ayrıca şu şekilde başlatmayı denedim:

SHELL=/bin/bash

Güncelleme: Backtick karakterlerinin `` kötü adamlar '' olduğunu düşündüm, ancak aşağıdaki cevap% yüzdesinin suçlu olduğunu açıkladı!


Test hattınız saatte yalnızca bir kez çalışır. Test etmek istediğiniz şey bu olmayabilir.
user535733 13:03

ilk dakika değil mi? # mh dom mon dow komutu
lpanebr

Haklısın .. Her dakika çalışmasını sağlamak için * / 1 olarak değiştirdim.Kron iyi çalışıyor. Komutlarla ilgili bir şey var. Öyle görünüyor ki/bin/date +%Y-%m-%d
lpanebr

Yanıtlar:


13

Olarak /bin/date +%Y-%m-%d, her kaçmaya gerek %ile \uygun bu adam sayfası :

"Altıncı" alan (satırın geri kalanı) çalıştırılacak komutu belirtir. Yeni satır veya% karaktere kadar satırın tüm komut bölümü / bin / sh veya cronfile öğesinin SHELL değişkeninde belirtilen kabuk tarafından yürütülür. Ters eğik çizgi () ile kaçmadıkça, komuttaki yüzde işaretleri (%) yeni satır karakterlerine dönüştürülür ve ilk% 'den sonraki tüm veriler komuta standart girdi olarak gönderilir.


2
Teşekkürler! Soruyu asıl probleme uyacak şekilde düzenleyeceğim.
lpanebr
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.