文件自动备份和同步bypy和syncthing

来源:互联网 发布:华为中级网络认 编辑:程序博客网 时间:2024/04/29 05:52

http://blog.csdn.net/pipisorry/article/details/52464402

Linux定时备份数据到百度云盘

sudo pip3 install requests
sudo pip3 install bypy

备份脚本示例

#!/bin/sh
# File:    ~/bysync.sh
# Author:  pipi
# Email: pipisorry@126.com

echo -e "\033[33;1m ***********自定义DIRS=~/SysReinstall ~/files/DESKTOP********* \033[0m"
DIRS=$(echo '~/SysReinstall ~/files/DESKTOP')


echo -e "\033[33;1m ************************************ \033[0m"
echo -e "\033[33;1m ************百度云盘自动同步************ \033[0m"
DATE=`date +%F`
DATE_YEAR=`date +%Y`
DATE_MONTH=`date +%m`
for DIR in $DIRS
do
    echo -e "\033[33;1m *****上传$(basename $DIR)****** \033[0m"
    bypy mkdir $DATE_YEAR/$DATE_MONTH/$(basename $DIR)
    bypy -v syncup $DIR/* $DATE_YEAR/$DATE_MONTH/$(basename $DIR)
#    bypy -v syncup $DIR/* $DATE_YEAR/$DATE_MONTH/$(basename $DIR)
done
bypy list
echo -e "\033[33;1m **********百度云盘自动同步完成********** \033[0m"
echo -e "\033[33;1m ************************************ \033[0m"

Note: 现在不能直接备份文件夹了,只能压缩了再上传!!!坑B的百度网盘,要准备换个网盘了!!!

可能出现的问题

1 第一次运行要授权,打开命令行中的提示网站,复制授权码到命令行中

2 可能会由于百度权限问题,使用百度云备份需要差不多一个月跟新一次授权,否则报错
OpenShift server failed, authorizing/refreshing with the Heroku server …

或者不小心删除了Hash Cache File '/home/pipi/.bypy/bypy.hashcache.json' not found, no caching

Note: Skip saving Hash Cache since it has not been updated.这个应该不是错误,而是没有再次更新授权的提示吧。

更新(重新)授权办法如下:
运行bypy.py -c,删除令牌文件,然后重新授权一次。如果还不行,去百度应用授权里删除bypy再重新授权。

[/bypy]

[Linux定时备份数据到百度云盘]

皮皮blog



linux、windows文件自动同步syncthing

syncthing安装

linux下安装

两台电脑上都要安装

#https://github.com/syncthing/syncthing/releasesecho -e "\033[31;1m SYNC_URL=https://github.com/syncthing/syncthing/releases/download/v0.14.6/syncthing-linux-amd64-v0.14.6.tar.gz \033[0m"SYNC_URL=https://github.com/syncthing/syncthing/releases/download/v0.14.6/syncthing-linux-amd64-v0.14.6.tar.gzecho -e "\033[31;1m *************手动配置************* \033[0m"echo -e "\033[31;1m *********************************** \033[0m"echo -e "\033[31;1m *********************************** \033[0m"echo -e "\033[31;1m *************syncthing************* \033[0m"echo -e "\033[31;1m test -d ~/opt || mkdir -p ~/opt \033[0m"echo -e "\033[31;1m Add the release PGP keys: \033[0m"curl -s https://syncthing.net/release-key.txt | sudo apt-key add -echo -e "\033[31;1m Add the release channel to your APT sources: \033[0m"echo "deb http://apt.syncthing.net/ syncthing release" | sudo tee /etc/apt/sources.list.d/syncthing.listecho -e "\033[31;1m Update and install syncthing \033[0m"sudo apt-get updatesudo apt-get install -y syncthingecho -e "\033[31;1m syncthing & \033[0m"syncthing &#http://localhost:8080

最后会自动从默认浏览器中打开syncthing管理界面。

[Community Contributions]


安装方式2

#https://github.com/syncthing/syncthing/releases
echo -e "\033[31;1m SYNC_URL=https://github.com/syncthing/syncthing/releases/download/v0.14.6/syncthing-linux-amd64-v0.14.6.tar.gz \033[0m"
SYNC_URL=https://github.com/syncthing/syncthing/releases/download/v0.14.6/syncthing-linux-amd64-v0.14.6.tar.gz
echo -e "\033[31;1m *************手动配置************* \033[0m"
echo -e "\033[31;1m *********************************** \033[0m"

echo -e "\033[31;1m *********************************** \033[0m"
echo -e "\033[31;1m *************syncthing************* \033[0m"
echo -e "\033[31;1m test -d ~/opt || mkdir -p ~/opt \033[0m"
test -d ~/opt || mkdir -p ~/opt
cd ~/opt
#wget $SYNC_URL
echo -e "\033[31;1m tar xzf syncthing-linux-amd64-*.tar.gz \033[0m"
tar xzf syncthing-linux-amd64-*.tar.gz
cd syncthing-linux-amd64-*/
echo -e "\033[31;1m sudo cp syncthing /usr/local/bin/ \033[0m"
sudo cp syncthing /usr/local/bin/
echo -e "\033[31;1m sed -i 's/127.0.0.1:8080/0.0.0.0:8080/g' ~/.config/syncthing/config.xml \033[0m"
sed -i 's/127.0.0.1:8080/0.0.0.0:8080/g' ~/.config/syncthing/config.xml
echo -e "\033[31;1m syncthing \033[0m"
syncthing
#http://localhost:8080

皮皮blog

syncthing管理界面配置

管理界面地址:http://localhost:8080

设置访问网页管理界面的管理员用户和密码:点击右上角的齿轮按钮,然后选择Settings。(局域网上的同步不需要设置)

连接到其它服务器:添加同步的设备

要在各个系统之间同步文件,你必须各自告诉它们其它服务器的信息。这是通过交换设备IDs(device IDs)来实现的。

选择“齿轮菜单(gear menu)”(在右上角)中的”Show ID(显示ID)“来找到它。

只要选择其中一个电脑,添加另一个电脑的id就可以了,另一个电脑上就会有提示进行相互添加。

在Device区域粘贴另一系统 ID **。输入设备名称(可选)。在地址区域,你可以输入其它系统的IP地址,或者使用默认值dynamic。

另一系统就会收到添加id的信息进行双向确认就可以了。

这个软件只要添加了设备id就可以自动查找另一配对设备的ip地址并添加(局域网和广域网都自动添加)。

选择要同步的文件夹

在系统上设置要同步的文件路径

同样,另一个系统会收到一个确认。这时另一个系统就可以指定一个与其对应的文件夹来进行同步。

广域网同步

上面的同步是在同一个局域网中进行的,如果想在广域网上进行同步,可以在setting中设置监听地址为0.0.0.0。两台电脑都要如此设置。

过一段比较长的时间会就可以连接上了,在广域网上进行同步了。

连接上后自动同步的情况

 

名词解释

Unknown
while the GUI is loading.
Unshared
when you have not shared this folder,
Stopped
when the folder has experienced an error,
Scanning
while Syncthing is looking in the folder for local changes,
Up to Date
when the folder is in sync with the rest of the cluster,
Syncing
when this device is downloading changes from the network.

Among the folder details, you can see the current “Global State” and “Local State” summaries, as well as the amount of “Out of Sync” data if the the folder state is not up to date.

Global State
indicates how much data the fully up to date folder contains - this is basically the sum of the newest versions of all files from all connected devices. This is the size of the folder on your computer when it is fully in sync with the cluster.
Local State
shows how much data the folder actually contains right now. This can be more or less than the global state, if the folder is currently synchronizing with other devices.
Out of Sync
shows how much data needs to be synchronized from other devices. Note that this is the sum of all out of sync files - if you already have parts of such a file, or an older version of the file, less data than this will need to be transferred over the network.

[An intro to the GUI]

[Syncthing: 一个在计算机之间同步文件/文件夹的私密安全同步工具]

[Syncthing’s documentation]*

from: http://blog.csdn.net/pipisorry/article/details/52464402

ref:


1 0