Изменение прав доступа и владельца папки / var / www / html с помощью fswatch и xargs - PullRequest
0 голосов
/ 08 мая 2018

Я хочу менять владельца и права доступа к папке / var / www / html каждый раз, когда добавляю / создаю или обновляю любой новый файл или каталог в этой папке.

Я подумал об использовании fswatch для этого, чтобы получить события, которые происходят в этом каталоге (например, / var / www / html), и теперь я могу получать событие обновления / удаления при каждом изменении, напримерсоздание или удаление файла соответственно в каталоге с помощью команды

fswatch -x /var/www/html

Теперь, после этого события, я передал вывод в xargs и выполнил команду chown и chmod в каталоге / var / www / html, но теперь включилудаление файла fswatch & xargs по-прежнему выполняет команду chmod и chown и выдает ошибку, в которой нет такого файла в каталоге, что очевидно при удалении файла, поэтому я хочу узнать, как можно использовать условие if для проверки типа события (например, только для обновленного).вывод события команды fswatch) команды chmod и chown должны быть запущены.

1 Ответ

0 голосов
/ 09 мая 2018

Я бы включил фильтр для определенных событий, а затем передал бы его по одному на xargs через, например ::

.
fswatch -x /tmp | egrep --line-buffered '(Created|Updated)$'| \
   xargs -l1 sh -c 'test -f "$1" && chown some_user:some_group "$1"' --
...