使用 fswatch 和 xargs 更改 /var/www/html 文件夹的权限和所有者
Changing the permissions and owner of the /var/www/html folder using fswatch and xargs
我想在每次 add/create 或更新此文件夹中的任何新文件或目录时更改 /var/www/html 文件夹的所有者和权限。
我想为此使用 fswatch 来获取该目录中发生的事件(即 /var/www/html),现在我每次更改时都能获取 updated/removed 的事件,例如通过命令分别在目录下创建或删除文件
fswatch -x /var/www/html
现在,在发生此事件时,我将输出通过管道传输到 xargs 并在 /var/www/html 目录上执行了 chown 和 chmod 命令,但现在在删除文件时 fswatch & xargs 仍然执行 chmod 和 chown 命令并抛出错误 no目录中的此类文件很明显,因为文件已被删除,因此我想知道如何使用 if 条件来检查事件类型(例如仅针对 fswatch 命令的更新事件输出)将触发 chmod 和 chown 命令。
我会过滤特定事件,然后通过例如
将其逐一传递给 xargs
fswatch -x /tmp | egrep --line-buffered '(Created|Updated)$'| \
xargs -l1 sh -c 'test -f "" && chown some_user:some_group ""' --
我想在每次 add/create 或更新此文件夹中的任何新文件或目录时更改 /var/www/html 文件夹的所有者和权限。
我想为此使用 fswatch 来获取该目录中发生的事件(即 /var/www/html),现在我每次更改时都能获取 updated/removed 的事件,例如通过命令分别在目录下创建或删除文件
fswatch -x /var/www/html
现在,在发生此事件时,我将输出通过管道传输到 xargs 并在 /var/www/html 目录上执行了 chown 和 chmod 命令,但现在在删除文件时 fswatch & xargs 仍然执行 chmod 和 chown 命令并抛出错误 no目录中的此类文件很明显,因为文件已被删除,因此我想知道如何使用 if 条件来检查事件类型(例如仅针对 fswatch 命令的更新事件输出)将触发 chmod 和 chown 命令。
我会过滤特定事件,然后通过例如
将其逐一传递给xargs
fswatch -x /tmp | egrep --line-buffered '(Created|Updated)$'| \
xargs -l1 sh -c 'test -f "" && chown some_user:some_group ""' --