工作中遇到的一个很蛋疼的问题是,回家以后公司的数据怎么同步到家里来?万一晚上跟我要资料怎么办?万一要找点什么资料怎么办?
之前我的解决方案是 btsync,后来因为某些不可描述的原因被封了以后,改用了 verysync,但是还有一个问题是,自己得搞个 VPS 来做中转,而 VPS 的硬盘成本,又是一笔开支。
本着省钱的原则,于是我搜了一堆资料,加上实验终于实现了低成本,利用内置工具同步/备份的功能。
那么接下来,就是具体流程了:
第一步:
启用 win10 内置的 Linux
1.进入控制面板
2.点“程序”
3.点“启用或关闭 Windows 功能”
4.找到“适用于 Linux 的 Windows 子系统(Beta)
由未勾选变成勾选状态,然后完成安装后重启电脑。
第二步:
打开 Microsoft Store,搜”Ubuntu“并且安装
第三步:
安装好以后启动,启动完自动弹出窗口,并等待安装。
第四步:
安装完以后,会让提示设置账户,输入 root
输入完以后,会提示输入密码,输入两遍,完成后 就进入了命令行界面。
第五步:
依次输入每一行并回车
apt-get install unzip
curl https://rclone.org/install.sh | sudo bash
完成安装后,
输入 rclone config 然后回车,在第一个提示输入 n,然后回车
No remotes found - make a new one
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n
然后设置名字:
name>
输入完名字后回车,回车后选择存储端类型(建议选 3,也就是 b2 存储),
Type of storage to configure.
Choose a number from below, or type in your own value
b2 存储可以进入 www.backblaze.com 注册,并且获得 ID 和 KEY,同时创建个 bucket,记住名字
英文是”Show Account ID and Application Key“
中文是”露出账目身份证和应用软件钥匙“
选择存储类型后续回车
回车依次输入 ID 和 KEY 并回车,然后会提示 endpoint,默认回车。
回车完毕后会提示如下内容,输入 Y 并回车:
——————–
y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y
回车完毕后提示如下内容,输入 q 并回车
Current remotes:
Name Type
==== ====
remote b2
e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> q
至此,就搞定了。
接下来,就是设置定时任务
输入 touch down.sh
然后 vim down.sh
按 i 然后输入 rclone copy 前面设置的名字:b2 的 bucket 名字 /mnt/你要同步的目录
然后按 ESC,输入:wq
同样,
输入 touch up.sh
然后 vim up.sh
按 i 然后输入 rclone copy /mnt/你要同步的目录 前面设置的名字:b2 的 bucket 名字
然后按 ESC,输入:wq
设置完以后 chmod 777 down.sh
和 chmod 777 up.sh
完事之后,输入 crontab -e
第一次用会让你选编辑器,选 3
然后进入编辑状态,
输入*/10 * * * * bash /root/down.sh
然后输入*/5 * * * * bash /root/up.sh
以上内容是每 5 分钟增量上传一次,每 10 分钟,增量下载一次。
然后再新建一个开机挂起脚本
touch boot.sh
然后 vim boot.sh
按 i 然后输入
#!/bin/sh
service cron restart
sh /root/down.sh
sh /root/up.sh
$SHELL
然后按 ESC,并且输入:wq 回车
回车完以后输入 chmod 777 boot.sh 然后回车
回车后要重启 cron 任务,输入 service cron restart 并回车
如果你希望开机自启,就继续看下面的内容,不然就可以直接忽略啦,每次需要的时候,打开这个 Ubuntu,然后执行 sh /root/boot.sh 就可以了
也可以考虑按照下面教程创建 vbs 脚本,但是不设置计划任务。
完成后在你本地 PC 端找个目录,
创建 vbs 脚本(D:\wsl.vbs)
Set ws = CreateObject("Wscript.Shell")
ws.run "bash /root/boot.sh",vbhide
输入以上 2 行内容
完事保存。
说明:这里通过 vbs脚本在后台打开一个bash.exe来保证 bash 进程一直开着。当然,还可以通过 Windows 的计划任务实现开机启动 WSL 并打开其中的程序。
在 win10 打开计划任务,设置开机执行这个 vbs 脚本即可。
至此就完成了全部设置。。