나는 내 서버에 있는 MYSQL 데이터베이스를 매일 백업하기 위해 rsnapshot을 사용하고 있습니다. 디렉토리의 소유권을 제외하고는 모든 것이 잘 작동합니다 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
.
답변1
기본 구성 파일 /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