google cloud instance 之间做file sync

Phanix
·
·
IPFS
·

预设gcp instance 是只能用ssh key based 登入,而如果没有帮root 帐号(或者要执行rsync 的帐号)产生ssh key,那等于无法使用rsync 这个命令。

而gcloud sdk 里头只有提供copy 与scp (其实是一样)来做instance 之间的档案传输,除非是使用bucket storage来做中继站。
但是用gcloud compute scp 或gcloud compute copy 无法只处理更新的档案,而有浪费频宽、时间等的问题。这时候要善用find 指令… 比方说像是这样…

 find /var/opt/sharingdata/ -type f -mmin -1 -exec gcloud compute scp --recurse --compress --internal-ip {} --zone asia-east1-c [instance-name]:/var/opt/sharingdata/

然后挂上crontab 就搞定了。

Original link: Phanix's Blog

CC BY-NC-ND 2.0 授权

喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!