Crontab для резервного копирования каталога

Итак, у меня это в моем crontab -e

0 0 * * * /opt/www/backup.sh

И в файле у меня есть следующее:

 #!/bin/bash FILENAME=$(date +%Y%m%d).tar.gz tar zcf backups/$FILENAME f 

Файл находится в /opt/www

Но резервная копия вообще не создается. Если я запустил backup.sh вручную, тогда он запустится и создаст резервную копию каталога f как он должен это сделать.

Я запускаю Debian 7.8.

2 Solutions collect form web for “Crontab для резервного копирования каталога”

Текущий (рабочий) каталог, вероятно, не установлен в / opt / www при запуске cronjob. Вы можете установить его в своем скрипте backup.sh перед тир tar... по:

 cd /opt/www 

или вы можете использовать полный путь в линии tar:

 tar zcf backups/$FILENAME /opt/www/f 

Я также могу посоветовать использовать полный путь для backups/$FILENAME

Когда corntab запускает код, он запускает его из относительного пути, начиная с вашего домашнего каталога.

Простое исправление: вы можете использовать абсолютный путь к каталогу (начиная с / ) в вашем скрипте.

Другой метод: используйте «path_dir» в вашем коде для переносимости.

 path=$(readlink -f $0) path_dir=${path%/*} 
  • Пользователь не имеет доступа к crontab
  • Создайте задания cron, чтобы повторять каждые X единиц времени, начиная с судовой единицы
  • crontab -e дает: / var / spool / cron /: mkstemp: разрешение отклонено
  • Как я могу подать сигнал на задание cron, чтобы пропустить прогоны?
  • Скрипт запускается вручную, но не из cron
  • Crontab: Почему он не запускает скрипт?
  • Cron работает каждые 15 секунд
  • Создание задания cron и просмотр его вывода в режиме реального времени
  • почему /etc/cron.hourly/myjob не работает?
  • Может grep | crontab уничтожить все рабочие места?
  • Cron Job не работает
  • Задача Cron начинается в 5:30 и выполняется каждые 5 минут один раз
  • Linux и Unix - лучшая ОС в мире.