Имам скрипт за архивиране на базата данни в /home/<user>/bin/dbbackup
, Скриптът е изпълним от всички потребители и е собственост на мен. Файловете /etc/cron.allow
и /etc/cron.deny
не съществува.
В моето crontab
Имам следните редове (включително нов празен ред след последния ред от кода):
@reboot /home/<user>/.dropbox-dist/dropboxd
30 2 * * * bash /home/<user>/bin/dbbackup
Въпреки това, cron не ми работи dbbackup
скрипт. Когато изпълнявам ръчен тест на скрипта, той работи. Когато изпълнявам този тест на командния ред: * * * * * /bin/echo "cron works" >> ~/file
Получавам следната грешка:
No command "dbbackup" found, did you mean:
Command "dvbackup" from package "dvbackup" (universe)
Command "tdbbackup" from package "tdb-tools" (main)
dbbackup: command not found
Моят сървър използва Ubuntu Trusty. Всяка помощ моля?
Отговори:
0 за отговор № 1Както бе отбелязано в коментарите, изглежда, че amiga_os е трябвало да премахне справката за забиване на линията.
30 2 * * * bash /home/<user>/bin/dbbackup
Би трябвало.
30 2 * * * /home/<user>/bin/dbbackup
Аз обикновено наричам скриптове от техния път иизползвайте "#! / bin / bash" (или където живее вашата bash) като първа линия на сценария. Изглежда, че amiga_os вече е направил това, което е добро. Не ми харесва да поставям изречения в cron, защото ме кара да се притеснявам.
Мисля, че това е проблем на пътя, както се изпълнява от cronпотребителят, но не чете профила на bash и следователно не работи точно както би бил под вашата черупка, тъй като може да няма достъп до вашия $ PATH.