Theres что-то странное в этом conf. Не совсем это понимаю ...
<VirtualHost indextj:80>
ServerAdmin webmaster@indextj
DocumentRoot /datos/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /datos/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
...
...
</VirtualHost>
, но на первый взгляд я могу сказать вам изменить AllowOverride на All. это пример моей вики, например.
<Directory /var/lib/mediawiki/>
Options +FollowSymLinks
AllowOverride All
order allow,deny
allow from all
</Directory>
Firs Я предлагаю вам использовать команду rsync для сохранения ненужной копии неизмененных файлов. Во-вторых, вы можете нажать rsync процесс в фоновом режиме, используя команду nohup. Затем вы можете kill выполнить этот процесс, используя PID задания, которое недавно было помещено в фоновый режим !$ (выдано командой nohup) at определенное время:
#!/bin/bash
nohup rsync -arqvzh --ignore-errors "$HOME"/* "/var/tmp/" > /dev/null 2>&1 &
echo "kill -9 $!" | at now +30 minutes -M > /dev/null 2>&1
Ссылки :
"kill & lt; PID & gt; & quot; почему бы не убить этот процесс? | Как убить процессы в Ubuntu? Как запустить nohup и написать его файл pid в одном заявлении bash? Как использовать команду nohup без получения nohup.out? Как позволить команде «cp» не запускать ошибку, если исходный файл не существует? Запустить команду at через 5 секунд? Справочное руководство GNU-Bash: параметры оболочки: специальные параметрыВ качестве альтернативы вы могли бы использовать команду timeout - как предложили @steeldriver - следующим образом:
timeout 1800 rsync -arqvzh --ignore-errors "$HOME"/* "/var/tmp/" &
Где:
"kill & lt; PID & quot; почему бы не убить этот процесс? | Как убить процессы в Ubuntu? & переместит процесс в фоновый режим, таким образом вы можете использовать текущую оболочку.Вы можете написать скрипт, предположив, что в скрипте есть только одна команда cp, вы можете использовать $$, который возвращает PID сценария оболочки, поэтому ps -ef | grep $$ вернет ваш скрипт, а также cp, поэтому ps -ef | grep -E "$$.*cp вернет PID команды cp, тогда вы просто сделаете kill -15 <pid>. Вот сценарий, который делает все это, не помещайте «cp» в имя.
#!/bin/sh
cp -r .* /var/tmp/ &
#sleep 30 minutes then kill cp
sleep 1800 && kill -15 $(ps -ef | grep -E "$$.*cp " | awk '{print $2}') || echo "copy completed as kill failed"
Этот скрипт вы можете планировать с помощью at или cron.
Вы, вероятно, хотели бы сделать следующее, если вам нужно использовать at, чтобы убить скрипт, назовите его myScript.sh:
#!/bin/sh
echo $$ > /tmp/myPID
cp -r .* /var/tmp/
rm /tmp/myPID
Второй скрипт с именем killerQueen.sh для at - запустите процесс через 30 минут:
#!/bin/sh
if [ -f /tmp/myPID]; then
kill -15 $(cat /tmp/myPID)
echo "Copy not complete." > /tmp/message$$
else
echo "Copy successful." > /tmp/message$$
fi
запустите следующее:
$ myScript.sh&
Job 1
$ at -f ./killerQueen.sh now + 30 minute
Этот второй пример безопаснее, потому что мы убиваем скрипт, который выполняет копию, если это все еще запущено, иначе мы создадим файл с именем /tmp/message<pid_of_killerQueen> с текстом «copy successed».
ИЗМЕНИТЬ, прочитав man at и ваш комментарий:
cp -r * /var/tmp& echo "kill -15 \$(ps -ef | grep \"$$.*cp \" | grep -v grep | awk '{print $2}')" | at now + 1 second
Firs Я предлагаю вам использовать команду rsync для сохранения ненужной копии неизмененных файлов. Во-вторых, вы можете нажать rsync процесс в фоновом режиме, используя команду nohup. Затем вы можете kill выполнить этот процесс, используя PID задания, которое недавно было помещено в фоновый режим !$ (выдано командой nohup) at определенное время:
#!/bin/bash
nohup rsync -arqvzh --ignore-errors "$HOME"/* "/var/tmp/" > /dev/null 2>&1 &
echo "kill -9 $!" | at now +30 minutes -M > /dev/null 2>&1
Ссылки :
"kill & lt; PID & gt; & quot; почему бы не убить этот процесс? | Как убить процессы в Ubuntu? Как запустить nohup и написать его файл pid в одном заявлении bash? Как использовать команду nohup без получения nohup.out? Как позволить команде «cp» не запускать ошибку, если исходный файл не существует? Запустить команду at через 5 секунд? Справочное руководство GNU-Bash: параметры оболочки: специальные параметрыВ качестве альтернативы вы могли бы использовать команду timeout - как предложили @steeldriver - следующим образом:
timeout 1800 rsync -arqvzh --ignore-errors "$HOME"/* "/var/tmp/" &
Где:
"kill & lt; PID & quot; почему бы не убить этот процесс? | Как убить процессы в Ubuntu? & переместит процесс в фоновый режим, таким образом вы можете использовать текущую оболочку.Вы можете написать скрипт, предположив, что в скрипте есть только одна команда cp, вы можете использовать $$, который возвращает PID сценария оболочки, поэтому ps -ef | grep $$ вернет ваш скрипт, а также cp, поэтому ps -ef | grep -E "$$.*cp вернет PID команды cp, тогда вы просто сделаете kill -15 <pid>. Вот сценарий, который делает все это, не помещайте «cp» в имя.
#!/bin/sh
cp -r .* /var/tmp/ &
#sleep 30 minutes then kill cp
sleep 1800 && kill -15 $(ps -ef | grep -E "$$.*cp " | awk '{print $2}') || echo "copy completed as kill failed"
Этот скрипт вы можете планировать с помощью at или cron.
Вы, вероятно, хотели бы сделать следующее, если вам нужно использовать at, чтобы убить скрипт, назовите его myScript.sh:
#!/bin/sh
echo $$ > /tmp/myPID
cp -r .* /var/tmp/
rm /tmp/myPID
Второй скрипт с именем killerQueen.sh для at - запустите процесс через 30 минут:
#!/bin/sh
if [ -f /tmp/myPID]; then
kill -15 $(cat /tmp/myPID)
echo "Copy not complete." > /tmp/message$$
else
echo "Copy successful." > /tmp/message$$
fi
запустите следующее:
$ myScript.sh&
Job 1
$ at -f ./killerQueen.sh now + 30 minute
Этот второй пример безопаснее, потому что мы убиваем скрипт, который выполняет копию, если это все еще запущено, иначе мы создадим файл с именем /tmp/message<pid_of_killerQueen> с текстом «copy successed».
ИЗМЕНИТЬ, прочитав man at и ваш комментарий:
cp -r * /var/tmp& echo "kill -15 \$(ps -ef | grep \"$$.*cp \" | grep -v grep | awk '{print $2}')" | at now + 1 second