制定CentOS备份策略需要考虑多个方面,包括备份内容、备份频率、存储位置和自动化等。以下是一个详细的备份策略:
确定备份内容:
tar
命令备份整个系统,包括 /proc
, /lost+found
, /mnt
, /sys
等目录。mysqldump
命令备份 MySQL 数据库,并使用 tar
命令压缩备份文件。tar
命令备份重要的文件数据,并根据需要选择压缩方式。备份频率:
tar
的增量备份功能,只备份变化的部分,减少备份时间和存储空间。存储位置:
/backup
。scp
或 rsync
命令将备份文件上传到远程服务器,确保数据在异地也能安全存储。自动化备份:
#!/bin/bash
# 设置mysql的登录用户名和密码
mysql_user="root"
mysql_password="xxx"
mysql_host="数据库服务器 ip"
mysql_port="3306"
# 备份文件存放地址
backup_location=/home/passjava/backup/mysql/passjava_web
# 是否删除过期数据
expire_backup_delete="ON"
expire_days=7
backup_time=`date +%Y-%m-%d-%H-%M-%S`
# 根据docker ps获取mysql容器的ID
mysqlContainerName=`sudo docker ps -q --filter="name=mysql"`
# 在运行在docker环境的mysql中执行备份命令
sudo docker exec $mysqlContainerName mysqldump -u $mysql_user -p$mysql_password -h $mysql_host -P $mysql_port --all-databases | gzip > $backup_location/$backup_time.sql.gz
日志审计:
权限控制:
通过以上步骤,可以制定一个完善的CentOS备份策略,确保数据的安全性和可恢复性。