更改redis转储的默认文件权限

时间:2012-11-13 16:33:51

标签: ubuntu permissions redis

我有一个cron作业,它在一个名为'deployer'的用户下运行,访问受限。 cron作业正在执行我的redis数据库的备份,导致dum /var/lib/redis/dump.rdb。

现在,cron作业现在尝试执行/bin/gzip -c /var/lib/redis/dump.rdb > /home/deployer/Backup/.tmp/redis_backup/databases/Redis/dump.rdb.gz,然后再将其发送到S3。问题是,/var/lib/redis/dump.rdb上的权限是-rw-rw ----,所以我收到以下错误:

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

所以我的问题是,我不感兴趣为我的部署者用户提供更广泛的权限,所以我希望每次运行cron作业时创建的转储都有其他权限。

如何以最简单的方式实现这一目标?

1 个答案:

答案 0 :(得分:2)

Redis转储文件是使用标准的fopen('...',“w”)调用创建的。因此,访问权限实际上是从当前umask继承的。

在启动Redis服务器本身之前,尝试使用umask命令更改脚本中的umask或用于启动Redis服务器的shell:

$ umask 022

此命令将更改掩码,以便创建具有644访问权限的新文件(666是默认访问权限)。