shell脚本实现本地文件与linux服务器文件同步,每天同步两次
时间: 2023-06-12 10:07:06 浏览: 153
可以使用rsync命令实现本地文件与Linux服务器文件的同步。可以将同步操作写入一个shell脚本,并使用crontab定时执行脚本。
以下是一个示例脚本:
```shell
#!/bin/bash
#设置同步源和目标路径
source_path="/path/to/local/folder/"
destination_path="user@server:/path/to/remote/folder/"
#执行同步命令
rsync -avz --delete --exclude=".DS_Store" $source_path $destination_path
echo "Sync complete at $(date +%Y-%m-%d\ %H:%M:%S)"
```
解释:
- `source_path`:本地文件夹的路径。
- `destination_path`:服务器上文件夹的路径,需要指定用户名和服务器地址。
- `rsync`命令:使用`-avz`参数表示以归档模式同步文件,保留所有文件属性;使用`--delete`参数表示删除目标路径中不存在的文件;使用`--exclude`参数表示排除某些文件,这里排除了`.DS_Store`文件(仅在Mac系统中存在)。
- `echo`命令:打印同步完成的时间。
将脚本保存为`sync.sh`文件,并使用以下命令将其添加到crontab中:
```shell
crontab -e
```
在编辑器中添加以下两行:
```shell
0 0 * * * /path/to/sync.sh
0 12 * * * /path/to/sync.sh
```
这表示每天0点和12点执行一次脚本。保存并退出编辑器。
注意:需要在本地和服务器上安装rsync命令。
阅读全文