Поместить
sudo -n python /home/matt/tornadoServer/tornadoDeploy.py &
в файл/etc/rc.d/rc.local. Или независимо от того, что эквивалент для Вашего распределения.
Принятие Вашего сценария является демоном хорошего поведения и что Вы настроили sudo для не требования пароля для того, чтобы запустить скрипт.
Считайте это о сценариях запуска и это о библиотеке демона Python. Кроме того, разве Вы не должны выполнять торнадо позади реального http сервера?
Для решения этой проблемы можно использовать простой цикл.
for f in $(find /var/www/ -path '*wp-admin/index.php'); do mv $f $(dirname $f)/index_disabled; done
Ваша проблема не в том, что он не интерпретируется дважды, как покажет выполнение
find . -type f -exec echo {} {} \;
. Проблема в том, что {}
нельзя использовать в качестве аргумента функции, как вы пытаетесь. По моему (ограниченному) опыту, если вы хотите поумничать с find
и содержимым {}
, вам необходимо написать сценарий оболочки, который вызывается из find
, который принимает {}
в качестве единственного аргумента и выполняет умные функции внутри этого скрипта.
Вот пример умного скрипта:
[me@risby tmp]$ cat /tmp/clever.sh
#!/bin/bash
echo $1 $(dirname $1)/index_disabled
Вот я использую его с find и последние несколько строк результатов:
[me@risby tmp]$ find . -type f -exec /tmp/clever.sh {} \;
[...]
./YubiPAM-1.1-beta1/stamp-h1 ./YubiPAM-1.1-beta1/index_disabled
./YubiPAM-1.1-beta1/depcomp ./YubiPAM-1.1-beta1/index_disabled
./YubiPAM-1.1-beta1/INSTALL ./YubiPAM-1.1-beta1/index_disabled
Как видите, если бы я заменил echo
в сценарии оболочки на mv
, я бы получил желаемый результат.
Вам нужно будет использовать команду xargs
и небольшой трюк:
$ find /var/www/ -path '*wp-admin/index.php' | xargs -i sh -c 'mv {} $(dirname {})/index_disabled'