kstrive
发布于 2024-04-16 / 7 阅读
0

Centos7.x挂载NAS目录并自动备份mysql

1.建立挂载目录

mkdir /data/backups/nas-backup

2.安装cifs库

 yum install cifs-utils

3.挂载NAS共享目录

mount -t cifs //101.30.50.209/backups/ch-backup /data/backups/nas-backup -o username=ch-backup,password=Bk@2024,domain=

4.创建数据库备份用户


CREATE USER 'backupuser'@'%' IDENTIFIED BY 'abc@qwedsa';

GRANT Select ON manage_portal.* TO 'backupuser'@'%';

GRANT Show view ON manage_portal.* TO 'backupuser'@'%';

GRANT References ON manage_portal.* TO 'backupuser'@'%';

GRANT Lock tables ON manage_portal.* TO 'backupuser'@'%';

GRANT Select ON xxl_job.* TO 'backupuser'@'%';

GRANT References ON xxl_job.* TO 'backupuser'@'%';

GRANT Show view ON xxl_job.* TO 'backupuser'@'%';

GRANT Lock tables ON xxl_job.* TO 'backupuser'@'%';

GRANT Process ON . TO 'backupuser'@'%';

4.数据库备份脚本参考

backup-ch-portal.sh


echo "`date +%y%m%d%H%M%S` start backup of mysql..."

backup_path=/data/backups/mysql-backup/data/

db_user=backupuser

db_pswd=abc@qwedsa

db_host=127.0.0.1

db_port=3306

db_param=--skip-extended-insert

db_name=manage_portal

docker exec ch-mysql mysqldump $db_param -u$db_user -p$db_pswd -h$db_host -P$db_port $db_name > "$backup_path`date +%y%m%d%H`_$db_name.sql"

db_name=xxl_job

docker exec ch-mysql mysqldump $db_param -u$db_user -p$db_pswd -h$db_host -P$db_port $db_name > "$backup_path`date +%y%m%d%H`_$db_name.sql"

echo "`date +%y%m%d%H%M%S` backup finished."

echo "`date +%y%m%d%H%M%S` start compress sql file to tar.gz.."

find $backup_path -name "*.sql" -type f -exec tar -zcvf {}.tar.gz {} --remove-files \;

echo "`date +%y%m%d%H%M%S` compress finished."

echo "`date +%y%m%d%H%M%S` start clean N days before backups."

ls -t $backup_path*.tar.gz | awk 'NR>60' | xargs rm -rf

echo "`date +%y%m%d%H%M%S` clean finished."

echo "`date +%y%m%d%H%M%S` list current backups files:."

ls -lth $backup_path*.tar.gz

cp $backup_path`date +%y%m%d%H`_ch_*.sql.tar.gz /data/backups/nas-backup/portal/

6.创建linux定时器


5 12,22  * /data/backups/mysql-backup/backup-ch-portal.sh >> /data/backups/mysql-backup/log-backup-ch-portal.log

注意事项:

可配置开机挂载NAS目录:


//nas_server_ip/nas_share_name /mnt/nas_mount cifs username=your_username,password=your_password,domain=your_domain 0 0