Не удается Bash chgrp GROUP / home / * / SOMEFILE / Как это сделать?

Вероятно, в вашем примере отсутствует только одна вещь, опция -f для сброса записи каждый раз.

script -f >(while read;do date;echo "$REPLY";done >>session.log)
0
26.04.2016, 19:06
1 ответ

try:

#!/bin/bash
while true; do
    for user in $(ls /home); do
        chgrp www-data /home/${user}/private/FILE.TXT
    done
    sleep 10
done

Бесконечный цикл предназначен для обхода ограничения cron в 1 минуту на повторение задания. сделать его исполняемым:

chmod +x /PATH/TO/owner.sh

И просто запустите его без cronjob.

Также, если вы просто хотите отреагировать на модификацию файла и напрямую изменить право собственности на этот файл, вы можете использовать inotify-tools:

#!/bin/bash
for user in $(ls /home); do
    inotifywait -mqe close_write /home/${user}/private/FILE.TXT --format %f | while IFS= read -r file; do chgrp www-data $file; done
done

Просто запустите его один раз

0
29.04.2021, 00:15

Теги

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