incron не удается запустить скрипт удара

Я установил и настроил incron на сервере Ubuntu 16.04. Теперь я хочу контролировать, если файлы добавляются к определенной папке. Это работает хорошо потому что, когда я имею

incrontab -l

/var/www/html/uploads IN_ATTRIB touch /home/incronuser/test.txt

и когда файл добавляется к папке загрузок, файл test.txt создается в пользователях домой.

Кроме того, если я повторяю что-то вместо того, чтобы делать касание, в обоих случаях я вижу incron действие в /var/log/syslog. Так, чтобы все работы как ожидалось.

Но теперь я хочу запустить скрипт удара, когда файл добавляется к папке загрузок. Этот сценарий работает хорошо, когда тот же пользователь, который создал incron задание, делает:

~$ bash /home/incronuser/myscript.sh

Это хорошо работает, и сценарий делает то, что это, как предполагается, делает.

Теперь я сменяю свою incron работу для запущения того скрипта при инициировании:

incrontab -e 
/var/www/html/uploads IN_ATTRIB /home/incronuser/myscript.sh

Но я не могу заставить это работать ни за что в жизни. После других Вопросов и ответов на здесь и в другом месте в Интернете, я попытался использовать кавычки в различных формах, которые попробовали использовать команду удара в crontab строка, но все перестали работать до сих пор. Вещи как:

/var/www/html/uploads IN_ATTRIB bash /home/incronuser/myscript.sh

/var/www/html/uploads IN_ATTRIB /bin/bash /home/incronuser/myscript.sh

"/var/www/html/uploads IN_ATTRIB /home/incronuser/myscript.sh"

/var/www/html/uploads IN_ATTRIB "/home/incronuser/myscript.sh"

/var/www/html/uploads IN_ATTRIB sudo bash -c "/home/incronuser/myscript.sh"

Я должен добавить, что во всех этих случаях, действительно вижу incron задание призвано syslog, просто ничего не происходит. Я не действительно уверен, где я мог найти более подробные журналы того, что идет не так, как надо. Было бы большим получить некоторое понимание на этом.

0
задан 24 February 2018 в 01:25

1 ответ

Хорошо мне разобрались в нем. Я просто уеду, мое разрешение здесь для кого-либо еще борющегося с этим (incron также не документируется как крон и существуют принципиальные различия).

Первая ошибка, которую я совершил, была способом, которым я создал свой incrontab. Это должно быть:

/var/www/html/uploads IN_ATTRIB /bin/bash /home/incronuser/myscript.sh

Во-вторых, я не выполнял его как правильный пользователь. Файл, который должен был быть вставлен в базу данных, сначала необходимую к перемещенному в/var/lib/mysql-files, и только базироваться, имеет доступ там. Таким образом, incron задание должно было быть создано как корень также.

0
ответ дан 30 October 2019 в 09:32

Другие вопросы по тегам:

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