以下是一个基本的Linux Shell脚本示例,用于通过rsync实现增量同步。假设我们想要从本地目录/path/to/local/source同步到远程主机remote_host上的/path/to/remote/destination

#!/bin/bash

# 定义源路径和目标路径
src="/path/to/local/source"
dst="user@remote_host:/path/to/remote/destination"

# rsync命令行参数:
# -a 以归档模式传输,保留文件属性
# -v 显示详细输出
# -z 压缩数据传输
# --delete 删除目标目录中已不存在于源目录中的文件
# --exclude 排除不需要同步的文件或目录(这里仅作示例,根据需要修改)
# --progress 显示进度信息
# --rsh 使用ssh作为通信协议
rsync_opts="-avz --delete --exclude='*.log' --progress --rsh=ssh"

# 执行rsync命令
rsync $rsync_opts $src $dst

# 如果你想让脚本在出错时返回错误状态码(非0),可以添加如下检查:
if [ $? -ne 0 ]; then
    echo "Rsync failed."
    exit 1
else
    echo "Rsync completed successfully."
fi

请确保将上述脚本中的源路径、目标路径以及用户替换为你实际要使用的值,并根据实际情况调整--exclude参数以及其他rsync选项。

为了定期执行此脚本,您可以将其设置为cron job,在Linux系统中定时自动运行。例如,如果您希望每天凌晨1点执行该脚本,可以在crontab中添加以下条目:

0 1 * * * /path/to/your/script.sh

记得赋予脚本执行权限:

chmod +x /path/to/your/script.sh