Linux 编写脚本备份文件夹或文件
时间: 2024-11-27 19:17:05 浏览: 19
在 Linux 中编写脚本来备份文件夹或文件通常涉及到复制整个目录树或者单个文件,并将其保存到另一个地方,比如外部硬盘、网络共享目录或者是其他备份存储设备。这里是一个基本的示例,使用 `cp` 或 `rsync` 命令来备份:
**使用 cp 命令备份单个文件或目录:**
```bash
#!/bin/bash
# 设置源文件或目录
SOURCE_FILE=/path/to/source/file
# 设置目标备份目录
BACKUP_DIR=/path/to/backup/directory
# 如果是备份文件,直接复制
if [ -f "$SOURCE_FILE" ]; then
cp "$SOURCE_FILE" "$BACKUP_DIR"
else
# 如果是目录,递归复制所有内容
cp -r "$SOURCE_FILE" "$BACKUP_DIR"
fi
echo "Backup completed."
```
**使用 rsync 命令备份(推荐,同步更改并节省带宽):**
```bash
#!/bin/bash
# 设置源文件或目录
SOURCE_DIR="/path/to/source/directory"
# 设置目标备份目录
BACKUP_DIR="/path/to/backup/directory"
# 使用 rsync 命令,添加选项如 --progress 显示进度,--delete 删除旧的备份,--compress 压缩传输数据
rsync -avz --progress --delete "$SOURCE_DIR/" "$BACKUP_DIR/"
echo "Backup completed."
```
在上述脚本中,`-a` 表示 archive(归档模式),`-v` 表示 verbose(详细输出),`-z` 表示 compress(压缩),`--delete` 指定删除目标目录中不再源目录中存在的文件。
执行完成后,你可以定期安排这个脚本作为 cron 任务自动运行。
阅读全文