Я пытаюсь создать скрипт php, который может подключиться через ssh к моему серверу Qnap TS219 и запустить на нем команду.
Мой скрипт до сих пор нормально подключается к серверу, но когда я запускаю команду, я получаю сообщение об ошибке и не могу понять его.
exec.sh
#!/bin/bash
cp /share/MD0_DATA/Qdownload/rapidshare/admin/script.txt /share/MD0_DATA/Qdownload/rapidshare/admin/script.sh
chmod 755 /share/MD0_DATA/Qdownload/rapidshare/admin/script.sh
nohup sh /share/MD0_DATA/Qdownload/rapidshare/admin/script.sh &
exit 0
script.sh
#!/bin/bash
/opt/bin/plowdown -o /share/MD0_DATA/Qdownload/rapidshare /share/MD0_DATA/Qdownload/rapidshare/admin/down.txt 2>/share/MD0_DATA/Qdownload/rapidshare/admin/output.txt
команда, которую я сейчас выполняю через ssh после отправки формы:
echo $ssh->exec('sh /share/MD0_DATA/Qdownload/rapidshare/admin/exec.sh');
Сейчас генерируется приведенный ниже код, но только после того, как я уничтожаю 2 процесса bash (страница продолжает загружаться неопределенно, а активность процессора достигает 100%, если я не уничтожаю 2 процесса bash):
/share/MD0_DATA/.qpkg/Optware/share/plowshare/lib.sh: line 261: getopt: command not found start download (rapidshare): http://rapidshare.com/files/312885386/Free_Stuff-Your_Internet_eBay_Business_Free_Startup_Resources.rar /share/MD0_DATA/.qpkg/Optware/share/plowshare/lib.sh: line 261: getopt: command not found /share/MD0_DATA/.qpkg/Optware/share/plowshare/lib.sh: line 46: --insecure: command not found Error: failed inside rapidshare_download()
Этот скрипт будет использоваться в моей локальной сети, без доступа извне, поэтому я не беспокоюсь о безопасности, я знаю, что код выглядит очень простым, примитивным, но у меня нет опыта работы с php, shell-скриптом, так что если кто-то может иметь какой-то смысл в этом и помочь мне будет принята с благодарностью.
Edit1. Я также попробовал команду shell_exec до сих пор не радует, и если я запускаю сценарий, то замазка прекрасно работает.
Edit2. Я думаю, что мы к чему-то.
Я добавил предложенный вами код и получил следующее сообщение.
sh: /share/MD0_DATA/.qpkg/Optware/share/plowshare: is a directory /usr/bin:/bin:/usr/sbin:/sbin
Я думаю, что в настоящий момент PATH - это usr / bin: / bin: usr / sbin: / sbin, и я думаю, что это должен быть / opt / bin / opt / sbin, потому что есть «исполняемые файлы». Есть идеи?
Спасибо,
Крис.