Вот мой список ссылок на блоги RSS:
и Вы наклоняетесь, идут мимо: XKCD
Скорее всего, Ваш сценарий записан для использования функций Bash, но он выполняется Оболочкой Bourne. Вы имеете #!/bin/bash
как первая строка Вашего сценария? Отправьте его так, мы можем лучше помочь Вам.
Править:
В сценариях, которые предназначены для выполнения как задания крона, я всегда указываю полный путь к программам (такой как mysqldump
и gzip
) так как переменная $PATH и вещи как псевдонимы будут отличающимися от тех, которые в Вашей интерактивной оболочке. Тем путем результаты предсказуемы.
Попытайтесь добавить эту строку к верхней части Вашего сценария после строки удара
set +C
Это выключит noclobber опцию в ударе, так должен перезаписать файл.
Если дело не в этом, то это - вероятно, что-то как псевдоним к gzip, устанавливаемому или кроном или Вашей полной средой.
Это кажется действительно странным для меня, удар имеет noclobber опцию, которая делает его так, перенаправление не перезапишет файл. Возможно, это последняя версия новая опция, которая подобна, но создает.1 файлов вместо этого?
Действительно ли возможно, что что-то как logrotate называют в cronjob, или что-то работает прямо перед ним, который перемещает файл (logrotate)? Необходимо проверить/etc/crontab и crontab -e
выполненный как корень.
Это находится на своего рода облаке или совместно использованном сайте хостинга? Возможно, поставщик создал что-то, что делает это, чтобы помочь уменьшить их загрузку билета :-)
Это не gzip -c
? Та опция для записи в stdout, а не в файл. Есть ли a GZIP
или GZIP_OPT
набор переменной среды (с gzip опциями в нем)?