Задать вопрос
@hellfleet

Почему не работает скрипт через crontab?

Есть простейший скрипт для бэкапа
#!/bin/bash
ssh -2 backup@xxx.xxx.xxx.xxx "mysqldump -uUSR -pPASS DB_NAME | gzip -9" > /media/backups/DB-LIVE-$(date +%Y-%m-%d-T%H-%M).sql.gz
ls -t1 /media/backups/ |tail -n +25| xargs rm -f

Делается дамп таблицы, удаляются все файлы кроме последних 24

По крону запускается каждый час
0 * * * * /opt/backup.sh

В итоге скрипт только создает файлы бэкапа, не удаляя файлов.
Если запустить скрипт вручную, то все работает.
Подскажите в чем проблема при запуске его через крон.
  • Вопрос задан
  • 73 просмотра
Подписаться 2 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
по умолчанию крон не исползует переменное окружение
в частности PATH
по этому он не знает где лежит интерпритатор
/bin/bash/ls -t1 /media/backups/ |tail -n +25| /bin/bash/xargs rm -f
Ответ написан
@galaxy
ls -t1 /media/backups/ выведет только имя файла, а не полный путь. cd надо
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы