【自动化】屌丝论坛VPS全自动备份到StorJ脚本(Debian11+)

C 2022-5-26 2371

最近用到正好写出来分享:

apt install -y shc gcc curl && curl -Lso- https://rclone.org/install.sh | sudo bash
read -p '■ s3-access-key-id: ' s3ak && read -p '■ s3-secret-access-key: ' s3sk && echo -e '#!/bin/sh' > /www/_sync.sh && echo -e "rclone sync -P /www :s3:backup --backup-dir :s3:conflict/\`date +%Y%m%d\` --checksum --s3-provider=Storj --s3-access-key-id=$s3ak --s3-secret-access-key=$s3sk --s3-endpoint=gateway.storjshare.io" >> /www/_sync.sh && shc -v -f /www/_sync.sh && rm -f /www/_sync.sh /www/_sync.sh.x.c && newcron="12 3 * * * /www/_sync.sh.x" && cat <(fgrep -i -v "$newcron" <(crontab -l)) <(echo "$newcron") | crontab - && crontab -l

使用:

1. 在StorJ建立两个名为“backup”和“conflict”的Buckets(全部小写)。

2. 建立一个赋于所有权限的Access并生成S3接口的access-key-id和secret-access-key。

3. 运行以上两行Shell并进行配置,即可每日一次自动将/www内的全部文件备份至StroJ。

原理:

建立两个Bucket,一个是和当前VPS同步的,另一个是用于保存冲突的文件。

例如某人黑掉了这台VPS,将所有文件都删掉,那同步时也会把之前的文件删掉。

于是我们启用类似于回收站的机制,检测到文件与之前不同时,存储至conflict磁盘。

为了防止rclone被盗和滥用,我们将密钥信息写入Shell并对脚本进行加密,防止反编译。

效果:

又省掉一台备份VPS的费用,目前手头主力机仅剩狗云香港CMI,非常开心!

最新回复 (4)
  • JDJX 2022-5-27
    2

    恭喜恭喜

  • jess 2022-5-27
    3

    c大手上还有哪些鸡呀

  • C 2022-5-27
    4
    j c大手上还有哪些鸡呀

    1. 狗云

  • saber 2022-5-27
    5

    精简,就剩1台机。

    • 屌丝论坛
      6