Во-первых, я укажу, что это небезопасный подход на многих уровнях. как говорится:
Если для запуска script.py вы должны быть root, то пользователь вашего веб-сайта должен иметь конфигурацию sudoers. Сначала вам нужно узнать пользователя вашего сайта.
Затем установите привилегии sudo для этого пользователя, чтобы он мог выполнять script.py без пароля, т.е.:
apache ALL=NOPASSWD: /full/path/to/your/script.py
Затем добавьте исполняемый бит в ваш script.py:
chmod +x /full/path/to/your/script.py
Возможно, вам придется изменить заголовок вашего py-скрипта на:
#! /usr/bin/python
После этого в вашем php вы можете выполнить скрипт с помощью оболочки _exec, например:
$output = shell_exec('/full/path/to/your/script.py');
Предполагая, что у вас нет неработающих символических ссылок ни в A, ни в B, я бы рекомендовалmtree
:
$ mtree -Pcp A -k time | ssh hostB mtree -Ptp B
Это создаст спецификацию дерева на основе временных меток, найденных в файловой иерархии A
, и использует эту спецификацию для установки временных меток в соответствующих файлах в иерархии B
, находящихся на хосте hostB
.