@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

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

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

Войти через центр авторизации
Похожие вопросы
от 80 000 до 120 000 ₽
от 100 000 до 250 000 ₽
it2g Санкт-Петербург
До 100 000 ₽