原创

Linux Shell Scripting: 自动化备份文件

温馨提示:
本文最后更新于 2024年07月22日,已超过 254 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

Linux Shell Scripting: 自动化备份文件

目标: 创建一个简单的 shell 脚本,用于自动备份特定目录下的文件。

前提条件:

  • 熟悉基本 Linux 命令行操作。
  • 拥有一个需要备份的目录。

步骤:

  1. 创建脚本文件: bash touch backup_script.sh
  2. 编辑脚本: ```bash #!/bin/bash

# 备份目录 SOURCE_DIR="/home/user/Documents" # 备份目标目录 BACKUP_DIR="/home/user/backups" # 备份文件后缀 BACKUP_SUFFIX=".bak"

# 创建备份目录,如果不存在 mkdir -p "$BACKUP_DIR"

# 获取当前时间 TIMESTAMP=$(date +"%Y-%m-%d_%H-%M-%S")

# 备份文件 tar czvf "$BACKUP_DIR/backup_$TIMESTAMP$BACKUP_SUFFIX" "$SOURCE_DIR"

echo "备份成功!备份文件存储在: $BACKUP_DIR/backup_$TIMESTAMP$BACKUP_SUFFIX" 3. **设置脚本权限:**bash chmod +x backup_script.sh 4. **运行脚本:**bash ./backup_script.sh ```

脚本解释:

  • #!/bin/bash: 指示系统使用 Bash 解释器运行脚本。
  • SOURCE_DIR: 备份源目录。
  • BACKUP_DIR: 备份目标目录。
  • BACKUP_SUFFIX: 备份文件后缀名。
  • mkdir -p "$BACKUP_DIR": 创建备份目录,如果不存在。
  • date +"%Y-%m-%d_%H-%M-%S": 获取当前时间,格式为 YYYY-MM-DD_HH-MM-SS。
  • tar czvf "$BACKUP_DIR/backup_$TIMESTAMP$BACKUP_SUFFIX" "$SOURCE_DIR": 使用 tar 命令将 SOURCE_DIR 目录打包压缩,并命名为 backup_[时间戳].bak,存储在 BACKUP_DIR 目录。

扩展:

  • 可以添加定时任务,例如每天凌晨自动备份。
  • 可以增加日志功能,记录备份时间和状态。
  • 可以使用 rsync 命令进行增量备份,只备份修改过的文件。

注意:

  • 确保 BACKUP_DIR 目录拥有足够的空间。
  • 备份文件会占用磁盘空间,请定期清理旧的备份文件。
  • 脚本示例仅供参考,请根据实际情况进行修改。

其他:

  • 这是一个简单的备份脚本,实际应用中可能需要更复杂的功能,例如使用加密、压缩、增量备份等。
  • 可以根据需要更改脚本中的变量,例如备份目录、文件后缀等。

请谨慎使用此脚本,并确保备份数据安全。

正文到此结束