4

アクセスが制限された 'deployer' というユーザーの下で実行されている cron ジョブがあります。cron ジョブが redis データベースのバックアップを実行しているため、ダム /var/lib/redis/dump.rdb が生成されます。

現在、cron ジョブは、/bin/gzip -c /var/lib/redis/dump.rdb > /home/deployer/Backup/.tmp/redis_backup/databases/Redis/dump.rdb.gzS3 に出荷する前に実行を試みます。問題は、/var/lib/redis/dump.rdb のアクセス許可が -rw-rw---- であるため、次のエラーが発生することです。

gzip: /var/lib/redis/dump.rdb: Permission denied

私の質問は、展開ユーザーに幅広い権限を与えることに興味がないので、cron ジョブが実行されるたびに作成されるダンプに他の権限を持たせたいということです。

最も簡単な方法でそれを達成するにはどうすればよいですか?

4

1 に答える 1

3

Redisダンプファイルは、標準のfopen('...'、 "w")呼び出しで作成されます。したがって、アクセス権は実際には現在のumaskから継承されます。

umaskコマンドを使用して、Redisサーバー自体を起動する前に、Redisサーバーの起動に使用されるスクリプトまたはシェルのumaskを変更してみてください。

$ umask 022

このコマンドはマスクを変更して、新しいファイルが644のアクセス権(デフォルトのアクセス権は666)で作成されるようにします。

于 2012-11-13T20:56:28.797 に答える