ubuntu

如何利用Ubuntu触发器进行数据备份

小樊
56
2025-10-09 12:59:34
栏目: 智能运维

使用图形化工具触发备份(适合普通用户)

使用命令行工具触发备份(适合高级用户)

使用定时任务自动触发备份(适合定期备份)

备份脚本示例(整合常用功能)
创建/usr/local/bin/backup.sh,内容如下:

#!/bin/bash
SOURCE_DIR="/path/to/source"  # 源目录(需替换为实际路径)
BACKUP_DIR="/path/to/backup"  # 目标备份目录(需替换为实际路径)
DATE=$(date +"%Y%m%d")        # 当前日期(用于创建唯一备份文件夹)
LOG_FILE="/var/log/backup.log" # 日志文件路径

# 创建备份目录
mkdir -p "$BACKUP_DIR/$DATE"

# 执行备份(使用tar打包压缩)
tar -czvf "$BACKUP_DIR/$DATE.tar.gz" -C "$SOURCE_DIR" . 2>> "$LOG_FILE"

# 检查备份是否成功
if [ $? -eq 0 ]; then
    echo "[$(date '+%Y-%m-%d %H:%M:%S')] Backup completed: $BACKUP_DIR/$DATE.tar.gz" >> "$LOG_FILE"
else
    echo "[$(date '+%Y-%m-%d %H:%M:%S')] Backup failed!" >> "$LOG_FILE"
fi

# 可选:删除超过30天的旧备份(节省空间)
find "$BACKUP_DIR" -type d -name "*.tar.gz" -mtime +30 -exec rm -rf {} \; 2>> "$LOG_FILE"

赋予执行权限(chmod +x /usr/local/bin/backup.sh),然后通过crontab设置定时任务(如0 1 * * * /usr/local/bin/backup.sh,每天凌晨1点执行)。

0
看了该问题的人还看了