перенаправление, переставшее работать для программы CGI

[114754] Используйте опцию [115113]-T[115114] для cp (GNU [115115]cp[115116]):

Если вы используете для этого [115117]rsync[115118] (вероятно, это то, что вы хотите, так как это позволит избежать копирования файлов, которые не изменились), вы можете добавить [115119]/[115120] к исходному каталогу так, чтобы специфически копировалось содержимое, а не сам каталог. Eg:

2
16.08.2016, 13:54
1 ответ

Прежде всего, этот сценарий настроен так, чтобы пользователь, который запускает ваш веб-сервер (я предполагаю, 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

Также обратные кавычки не нужны, так что вы можете их убрать.

1
27.01.2020, 22:22

Теги

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