2016-04-14 65 views
1

yalanladı: gerçi, uygun izinleri ayarlama ile ilgili bir sorun varCron KÖTÜ DOSYA MODU benim veritabanlarını backuping için bir <code>cron</code> iş var

➜ ~ crontab -l 
@daily /etc/cron.d/pg_backup.sh 

.

Ben varsa: o zaman

➜ ~ ls -l /etc/cron.d/pg_backup.sh 
-rwxr-xr--. 1 root root 1359 Apr 14 21:39 /etc/cron.d/pg_backup.sh 

ve grep "pg_backup.sh" /var/log/cron kontrol, görüyorum:

chmod 644 pg_backup.sh 

Bu uyarıyı devre dışı bırakır: olarak

localhost crond[11881]: (root) BAD FILE MODE (/etc/cron.d/pg_backup.sh) 

Ancak, ne zaman pg_backup.sh değiştirin:

localhost CROND[11064]: (root) CMD (/etc/cron.d/pg_backup.sh) 

ama

➜ ~ cat /var/mail/root 
# ... 
/bin/sh: /etc/cron.d/pg_backup.sh: Permission denied 

uygun dosya izinlerini sonra nelerdir?

cevap

0

Sorun, çalıştırılacak betiği /etc/cron.d dizininde kurmuş olmanızdır. Bu dizin kabuk komutları değil, crontab dosyaları içindir.

bu dizinde herhangi bir dosya (root olmalıdır) sahibinden başka kimse tarafından okunabilir veya yazılabilir değildir crond bir çek var (. Bu dizinde varolan dosyaların bir göz atın) ve yürütülebilir değildir herkes tarafından. Bu nedenle, iletiyi önlemek için 600 veya daha da sıkı bir şekilde izinleri değiştirmeniz gerekir. Daha sonra gördüğünüz gibi komut dosyasını çalıştıramazsınız.

Bunun yerine, başka bir yerde senaryoyu koymak ve crontab güncelleyin:

@daily /some/other/directory/pg_backup.sh