Существует нет ungzip
. У Вас мог бы быть a gunzip
, и если Вы не делаете необходимо смочь gzip -d
. Читать man gzip
для деталей.
gzip
дескрипторы единственные файлы только. Если Вы хотите заархивировать целые каталоги, использовать zip
, или tar
, или cpio
(или...); или jar
так как Вы, кажется, обрабатываете архивы Java.
Это, вероятно, потому что Ваш $PATH
не установлен. Когда Вы пытаетесь выполниться php
в Вашей оболочке, в действительности, это ищет абсолютное место назначения php
от Вашего $PATH
, который является списком каталогов, из которых можно определить местоположение исполняемых файлов. Это установлено в Вашей среде, но крон не совместно использует ту среду (на самом деле, это, вероятно, имеет пустое или сброс $PATH
). Существует несколько решений (от лучше всего до худшего):
$PATH
в Вашем crontab путем добавления чего-то вроде этого к вершине его:PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Используйте полный путь для php
исполняемый файл в сценарии (это плохо, пользователь, должен смочь переопределить ПУТЬ в среде для использования различных двоичных файлов, если они хотят);
Набор $PATH
явно в Вашем сценарии (плохо по той же причине).
Добавьте следующие строки на верхней части Вашего сценария оболочки как это
#!/bin/bash
PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin
export PATH
затем поместите использование задания крона
crontab -e
Проблемы с crontab файлами имеют тенденцию быть связанными с другой средой, когда выполнено под кроном. Поскольку Вы не обеспечили файл run.sh
, вот некоторые советы по устранению неисправностей:
/home/username/data/www/run.sh
на командной строке и удостоверяются, что она работаетcrontab -e
позволяет Вам отредактировать свой crontab файл/var/cron/allow
файл и не быть в /var/cron/deny
файл
SHELL=/bin/sh PATH=/etc:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin */1 * * * * /home/username/data/www/run.sh
Но ничто не изменилось.. – Metalex 09.08.2013, 14:22