Linux
Rsnapshot:對“備份”組而不是 root 的文件夾所有權權限
我正在使用 rsnapshot 對伺服器上的 MYSQL 數據庫進行每日備份。除了目錄的所有權是
root:root
. 我希望它能夠root:backups
讓我通過 ssh 連接輕鬆地將這些備份下載到本地電腦。(我的 ssh 使用者有 sudo 權限,但我不想每次製作備份的本地副本時都輸入密碼。這個使用者是備份組的一部分。)在
/etc/rsnapshot.conf
我有這一行:
backup_script /usr/local/bin/backup_mysql.sh mysql/
在文件中
/usr/local/bin/backup_mysql.sh
我有:umask 0077 # backup the database date=`date +"%y%m%d-%h%m%s"` destination=$date'-data.sql.gz' /usr/bin/mysqldump --defaults-extra-file=/root/.my.cnf --single-transaction --quick --lock-tables=false --routines data | gzip -c > $destination /bin/chmod 660 $destination /bin/chown root:backups $destination
結果的文件結構是:
/backups/ ├── [drwxrwx---] daily.0 │ └── [drwxrwx---] mysql [error opening dir] ├── [drwxrwx---] daily.1 │ └── [drwxrwx---] mysql [error opening dir]
備份數據文件本身的所有權是正確的,如
root:backups
,但我無法訪問該文件,因為它所在的文件夾mysql
屬於root:root
。
在預設
/etc/rsnapshot
配置文件中如下:# Specify the path to a script (and any optional arguments) to run right # after rsnapshot syncs files # cmd_postexec /path/to/postexec/script
您可以使用在需要更改其組所有權的結果文件上
cmd_postexec
執行命令。chgrp