Kök Cron Komut Dosyası Çalışmıyor (izin verilmedi)


17

Bu komutu kullanarak belirli bir kullanıcının klasöründe bulunan bir komut dosyasını periyodik olarak yürütmek için kök cron sekmesini düzenledim:

sudo crontab -e

Cron betiği çalıştırdığında, çıktı:

sh: 1: /home/user/Location/Of/Script: Permission denied

Kök cronun herhangi bir şey yapma izni olduğunu düşündüm. Bu komut dosyasını el ile root olarak çalıştırdığımda sorunum yok.

Belgelerde daha fazla hata bilgisinin burada bulunabileceğini okudum :

sudo cat /var/log/syslog

İşte bulduğum:

Jan 30 12:30:01 backup CRON[17702]: (CRON) info (No MTA installed, discarding output)

Ancak, bunun muhtemelen izin verilmedi sorunu ile ilgisi olmadığını düşünüyorum.

Gerçekten ne yapmam gerekiyor?


3
Üzerindeki izinleri listeleyebilir misiniz /home/user/Location/Of/Script? Örn la -l /home/user/Location/Of/Script. Bu arada, harici olarak e-posta göndermiyor / almasanız bile normal dahili kullanım için bir MTA kurulu olmalıdır. Sisteminizde zaten yüklü olmadığına şaşırdım.
Faheem Mitha

1
Bunun nedeni her türlü şey olabilir. Lütfen @FaheemMitha tarafından talep edilen komutun çıktısını ve crontab'ınızdaki ilgili satırı gönderin
terdon

-rw-r - r-- (sorun
buydu

"-Rw-r - r--" ile çözdüğünüzü söylüyorsunuz ama bunun ne olduğunu veya nasıl kullanılacağını bilmiyorum ve bu konuda açıklanan sorunla karşılaşıyorum. Gelecek nesiller için çözümünüzden biraz daha açık olabilir misiniz? Benim gibi insanlar bunun için gerçekten minnettar olacaklar. Teşekkür ederim!
Johnson Jason

@JohnsonJason: Sorun, komut dosyasındaki izinlerin yürütülmesine izin vermemesiydi. Komut dosyasının yürütülmesine nasıl izin verileceğini gösteren kabul edilen cevaba bakın.
Lonniebiz

Yanıtlar:


19

Senaryonuzun çalıştırılabilir olmadığını düşünüyorum. Bu nedenle, bunu yapmak için aşağıdaki komutu kullanın:

chmod +x /home/user/Location/Of/Script

Veya bu komut dosyasının sahibi değilseniz:

sudo chmod +x /home/user/Location/Of/Script

Yani cronun betiği çalıştırması için çalıştırılabilir olması gerekir, ancak root olarak bu bayrağa ihtiyaç duymaz, değil mi?
Lonniebiz

1
Komut dosyasını manuel olarak nasıl çalıştırdığınıza bağlıdır. Komut dosyasını kullanarak çalıştırırsanız ./Sciptveya /home/user/Location/Of/Scriptsorun değilse. Genellikle herhangi bir komut dosyasının yürütülebilir olması gerekir. Bkz . Linux'ta kabuk betiği çalıştırma .
Radu Rădeanu

Bu mantıklı, ama ben gerçekten bu komut dosyasını elle ./script şekilde çalıştırıyorum. Yardımın için teşekkürler.
Lonniebiz
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.