0

選択したファイルの所有者とグループを変更する cron ジョブを実行する必要があります。

私はこれのためのスクリプトを持っています:

#!/bin/bash
filez=`ls -la /tmp | grep -v zend | grep -v textfile | awk '$3 == "www-data" {print $8}'`
for ff in $filez; do
        /bin/chown -R tm:tm /tmp/$ff
done

手動で実行すると、完全に機能します。これをルートのcronに追加すると

* * * * *               /home/scripts/do_script

所有者/グループは変更されません。ファイルにはパーミッション「-rwsr-xr-x」があります。

これをどのように解決できるか考えていますか?

4

2 に答える 2

0

私のシステムでは、フィールド$8はファイル名ではなく時間/年です。おそらく、root ユーザーの場合も同様です。これが、 ls を解析しようとしない理由です。この問題を修正したとしても、将来システムを壊すためにさらに半ダースが残ります。

代わりに検索を使用します。

find /tmp ! -name '*zend*' ! -name '*textfile*' -user www-data \
    -exec chown -R tm:tm {} \;
于 2013-12-02T21:44:42.547 に答える