Если вы используете для этого [115117]rsync[115118] (вероятно, это то, что вы хотите, так как это позволит избежать копирования файлов, которые не изменились), вы можете добавить [115119]/[115120] к исходному каталогу так, чтобы специфически копировалось содержимое, а не сам каталог. Eg:
Прежде всего, этот сценарий настроен так, чтобы пользователь, который запускает ваш веб-сервер (я предполагаю, Apache) мог его выполнить? Вы можете проверить, просмотрев разрешения сценария:
$ ls -l somescript.cgi
-rwxrwxr-x. 1 apache apache 1199 Jan 17 20:47 somescript.cgi
Вам понадобятся такие разрешения, чтобы любой мог запустить его, или если сценарий принадлежит пользователю apache
, то по крайней мере только владелец может выполнить это.
В этом случае я бы сосредоточился на расположении вывода команды mysql
. Apache, скорее всего, не может записать в то место, где mysql
пытается записать файл output
. Я бы сделал это реальное физическое местоположение следующим образом:
mysql -u root -predhat -H -D mysql -e "select host,db from db;" \
> /tmp/output.txt
Также обратные кавычки не нужны, так что вы можете их убрать.