Краткий обзор: у меня есть скрипт, который будет ежедневно делать резервные копии моего хранилища исходного кода из SVN в архив на этот день. Я протестировал скрипт, и он работает очень хорошо, пока я запускаю его как sudo, из-за владения выходным каталогом.
Итак, проблема в том, что я хочу запускать это ежедневно, поэтому я помещаю ссылку на него в каталог /etc/cron.daily. Вот содержимое каталога.
thom@spenser:/etc/cron.daily$ ls -l
total 60
-rwxr-xr-x 1 root root 189 2011-09-14 02:21 apport
-rwxr-xr-x 1 root root 15535 2011-10-06 11:30 apt
-rwxr-xr-x 1 root root 314 2011-08-08 16:57 aptitude
lrwxrwxrwx 1 root root 24 2012-02-28 11:05 backup -> /usr/local/bin/backup.sh
-rwxr-xr-x 1 root root 502 2011-06-08 11:48 bsdmainutils
-rwxr-xr-x 1 root root 256 2011-10-06 04:04 dpkg
-rwxr-xr-x 1 root root 372 2011-10-04 16:50 logrotate
-rwxr-xr-x 1 root root 1353 2011-07-27 07:17 man-db
-rwxr-xr-x 1 root root 606 2011-08-17 09:16 mlocate
-rwxr-xr-x 1 root root 249 2011-06-24 05:36 passwd
-rwxr-xr-x 1 root root 2417 2011-07-01 17:25 popularity-contest
-rwxr-xr-x 1 root root 383 2011-09-30 15:09 samba
-rwxr-xr-x 1 root root 3594 2011-09-19 20:07 standard
thom@spenser:/etc/cron.daily$
Проблема в том, что он просто никогда не запускается. Вот разрешения для этого скрипта:
thom@spenser:/etc/cron.daily$ ls -l /usr/local/bin/backup.sh
-rwxr-xr-x 1 root root 260 2012-02-28 11:03 /usr/local/bin/backup.sh
Идеи?
Ответы:
Пробовал это
Обнаружил, что мой файл update.ubuntu не подошел. Также заметил, что мой файл имеет расширение (имеет точку в нем).
Шаги, чтобы это исправить.
run-parts --test /etc/cron.daily
, на этот раз мой файл вышел!источник
Может быть одна из нескольких вещей:
Корни пути:
источник: https://help.ubuntu.com/community/CronHowto
Или просто используйте полные пути к каждой команде в вашем скрипте:
/bin/ls
вместо,ls
например. (which ls
в командной строке для путей).В названии файла есть странная ошибка с точками . Может распространиться на файл, на который вы ссылаетесь, хотя это кажется маловероятным.
Вы сохраняете вывод из файла резервной копии? Поместите что-то вроде этого в первую строку, чтобы определить, запущено ли оно вообще или работает, но в какой-то момент происходит сбой.
/bin/echo "Attempting to run backup" >> /path-to-home/backup.log
Или попробуйте добавить скрипт в файл crontab напрямую:
будет работать в 15:30 каждый день, если машина включена. используйте * * * * * во время тестирования, чтобы запускаться раз в минуту до тех пор, пока он не заработает.
источник
Grep ваш системный журнал для сообщений, как;
файлы должны быть ограничены (достаточно) на 644):
источник