很遗憾,现有搜索结果中未提及CentOS触发器备份的具体方法。触发器(Trigger)通常指数据库(如MySQL)中的特殊存储过程,用于在特定事件(INSERT、UPDATE、DELETE)发生时自动执行预定义操作,而非CentOS系统原生的备份机制。
若您的问题是CentOS系统或数据的备份,可通过以下常见方式实现:
创建备份脚本(如/usr/local/bin/backup_system.sh),内容如下:
#!/bin/bash
BACKUP_DIR="/var/backups/system" # 备份存储目录
DATE=$(date +"%Y%m%d%H%M%S") # 当前时间戳
BACKUP_FILE="$BACKUP_DIR/system_backup_$DATE.tar.gz" # 备份文件名
# 创建备份目录(若不存在)
mkdir -p "$BACKUP_DIR"
# 执行备份(排除备份目录本身,避免循环)
tar -czvf "$BACKUP_FILE" --exclude="$BACKUP_DIR" / # 备份根目录
# 记录日志
echo "[$(date)] System backup completed: $BACKUP_FILE" >> /var/log/backup.log
赋予执行权限:
chmod +x /usr/local/bin/backup_system.sh
创建数据库备份脚本(如/usr/local/bin/backup_mysql.sh),内容如下:
#!/bin/bash
MYSQL_USER="root" # 数据库用户名
MYSQL_PASS="your_password" # 数据库密码
MYSQL_DB="your_database" # 要备份的数据库名
BACKUP_DIR="/var/backups/mysql" # 备份存储目录
DATE=$(date +"%Y%m%d%H%M%S") # 当前时间戳
BACKUP_FILE="$BACKUP_DIR/${MYSQL_DB}_backup_$DATE.sql" # 备份文件名
# 创建备份目录(若不存在)
mkdir -p "$BACKUP_DIR"
# 执行备份(导出数据库结构与数据)
mysqldump -u "$MYSQL_USER" -p"$MYSQL_PASS" "$MYSQL_DB" > "$BACKUP_FILE"
# 可选:压缩备份文件(减小体积)
gzip "$BACKUP_FILE"
# 记录日志
echo "[$(date)] MySQL backup completed: $BACKUP_FILE.gz" >> /var/log/mysql_backup.log
赋予执行权限:
chmod +x /usr/local/bin/backup_mysql.sh
使用crontab -e命令编辑当前用户的定时任务,添加以下内容(以每天凌晨2点执行系统备份、3点执行数据库备份为例):
0 2 * * * /usr/local/bin/backup_system.sh # 系统备份
0 3 * * * /usr/local/bin/backup_mysql.sh # 数据库备份
保存后,Cron会自动加载任务并按设定时间执行。
/var/backups/system、/var/backups/mysql)存在且有足够的写入权限(建议属主为root,权限为700)。tail -f /var/log/backup.log或tail -f /var/log/mysql_backup.log实时查看备份进度,及时发现异常。.tar.gz文件或恢复数据库)。rsync(增量备份)、duplicity(加密备份)或Bacula(企业级备份)等工具提升备份效率与安全性。