Вероятно, в вашем примере отсутствует только одна вещь, опция -f
для сброса записи каждый раз.
script -f >(while read;do date;echo "$REPLY";done >>session.log)
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
Просто запустите его один раз