Linux Shell Scripting: 自动化备份文件
温馨提示:
本文最后更新于 2024年07月22日,已超过 254 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我。
Linux Shell Scripting: 自动化备份文件
目标: 创建一个简单的 shell 脚本,用于自动备份特定目录下的文件。
前提条件:
- 熟悉基本 Linux 命令行操作。
- 拥有一个需要备份的目录。
步骤:
- 创建脚本文件:
bash touch backup_script.sh
- 编辑脚本: ```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
目录拥有足够的空间。 - 备份文件会占用磁盘空间,请定期清理旧的备份文件。
- 脚本示例仅供参考,请根据实际情况进行修改。
其他:
- 这是一个简单的备份脚本,实际应用中可能需要更复杂的功能,例如使用加密、压缩、增量备份等。
- 可以根据需要更改脚本中的变量,例如备份目录、文件后缀等。
请谨慎使用此脚本,并确保备份数据安全。
正文到此结束
- 本文标签: Linux
- 本文链接: https://blog.sandy1029.cloud/article/79
- 版权声明: 本文由nisan原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权