Automysqlbackup - 转储的文件具有错误的权限

Automysqlbackup - 转储的文件具有错误的权限

这个问题在这里被提出过。但没有得到回答。

我刚刚获得了第三台服务器,并且在这三台服务器上我都使用 Automysqlbackup 脚本创建 MySQL 备份。我使用 cronjob 来执行此操作:

52 04 * * * /home/backups/backup.sh >/dev/null 2>&1

前 2 台服务器的转储和 gzip 文件具有权限 644,我可以下载它们。新的第 3 台服务器创建的文件具有权限 640,我无法下载它们。我检查了脚本,发现脚本没有设置/更改所创建文件的权限。如果我以 root 身份登录并在备份文件夹中手动创建文件,则它具有权限 644,这是理所当然的。

Automysqlbackup 脚本的所有文件夹/文件在所有 3 台服务器上都具有相同的权限。 包含转储文件的备份文件夹在所有 3 台服务器上都具有相同的权限。

我的问题。

  1. 有人知道为什么我的第三台服务器创建的备份文件权限为 640 而不是 644 吗?如何解决?
  2. 如果没有修复,有谁使用 Automysqlbackup 脚本吗?能否建议我需要在脚本中更改哪些内容才能 chmod 创建的文件 644?抱歉,我了解 Php,但不懂 bash 脚本。

答案1

在您的情况下,您可以做的是更改备份脚本,以便该行:

 umask 022 

在创建任何文件之前,它会出现在顶部附近。这将生成具有默认权限 755 或 644 的文件(取决于它是文件还是目录)。但是,此默认值可以被脚本中运行的任何应用程序覆盖。

相关内容