Bir cron işi ayarlamıştım:
20 * * * * /usr/bin/sh /home/lucky/myfile.sh
Asıl sorun, zamanlama zamanında, bir hata oluşmasıdır: "posta / var / spool / mail / lucky adresine gönderildi".
Myfile.sh dosyasının içeriği:
mkdir jh
cd jh
Bir cron işi ayarlamıştım:
20 * * * * /usr/bin/sh /home/lucky/myfile.sh
Asıl sorun, zamanlama zamanında, bir hata oluşmasıdır: "posta / var / spool / mail / lucky adresine gönderildi".
Myfile.sh dosyasının içeriği:
mkdir jh
cd jh
Yanıtlar:
Bir cron işi olarak ayarlanmış bir betik için uygun değil:
mkdir jh
cd jh
jh
Dizinin oluşturulması gereken tam yolu vermelisiniz. Ayrıca, bu yolda yeni dosyalar / dizinler oluşturma izniniz olmalıdır.
Örneğin, komut dosyanız şöyle görünmelidir:
#!/bin/sh
mkdir /home/lucky/jh
cd /home/lucky/jh
Ayrıca /usr/bin/sh
doğru yol değil sh
. Doğru yol /bin/sh
. Bunu whereis sh
komutla kontrol edebilirsiniz . Ve yine de, cron işin şöyle görünmeli:
20 * * * * /home/lucky/myfile.sh
Komut dosyasını çalıştırılabilir hale getirmeyi unutmayın:
chmod +x /home/lucky/myfile.sh
Bunun klasörü oluşturuyor gibi göründüğü yol /
. Bunun nedeni, çalıştırdığı tüm dosyalarda klasöre ve dosyalara tam yolcrontab
gerektirmesidir .
Yani myfile.sh içindeki yol olmalıdır
mkdir <absolutePath>/jh
cd <absolutePath>/jh
20 * * * * /usr/bin/sh /home/lucky/myfile.sh
Bu satır doğrudur, ancak sh / usr / bin / sh konumunda sh olup olmadığını görmek için yolu kontrol etmelisiniz ( which sh
sh'nin bulunduğu yolu görmek için kullanın ; benimki / bin / sh)
Crontab yazmaya başlamak için acele ediyorsanız, bu bağlantının oldukça iyi örnekleri var
http://www.thegeekstuff.com/2009/06/15-practical-crontab-examples/