同步脚本说明

filepush

用途

将Mac电脑的工作文件上传到远程Nextcloud进行备份。远程Nextcloud服务器必须具备100GB+的容量。

特点

远程容量大

实现方式

curl + webdav

用法

filepush <文件1> [文件2] [文件3] ...

示例

# 推送单个文件
filepush a.pdf

# 推送多个文件
filepush a.pdf b.jpg

# 推送所有PDF文件
filepush *.pdf

codesync

用途

将本地开发目录同步到代码仓库服务器。生产机器也运行此脚本,从代码仓库服务器同步最新的开发目录。

特点

完全一致性保证

注意: 使用 --delete 参数,具有危险性。必须保证要操作的文件是最新版本,避免旧内容覆盖新内容。

实现方式

rsync

用法

# 上传本地代码到远程服务器
codesync put <项目>

# 从远程服务器下载代码到本地
codesync get <项目>

支持的项目

  • perl - Perl模块代码
  • python - Python代码
  • java - Java代码

示例

# 上传Perl代码
codesync put perl

# 下载Python代码
codesync get python

# 上传Java代码
codesync put java

mcloud

用途

在多个hosts之间(如Mac、Windows、Linux服务器)传输文件。利用德国电信的高速cloud drive服务器作为文件中转站。

特点

远程速度快

实现方式

curl + webdav

用法

mcloud upload <本地文件> [远程路径]
mcloud download <远程文件> [本地路径]
mcloud list [远程目录]
mcloud mkdir <远程目录>
mcloud delete <远程文件/目录>
mcloud help

示例

# 上传文件到指定目录
mcloud upload ./document.pdf documents/

# 上传文件到根目录
mcloud upload ./photo.jpg

# 下载文件到指定目录
mcloud download documents/report.docx ./downloads/

# 下载文件到当前目录
mcloud download backup.zip

# 列出指定目录内容
mcloud list documents/

# 列出根目录内容
mcloud list

# 创建远程目录
mcloud mkdir backup/2024

# 删除远程文件
mcloud delete old_file.txt