OK
okingniko/BackupService
A useful backup and download tools, implemented using paramiko and python standard library.
BackupService
A useful backup and download tools, implemented using paramiko and python standard library.
You can easy check errors via log file(default ./backup.log)
##1. 准备工作
0. 若系统需要代理,则配置好系统的相关代理,例如,在shell中输入:
export http_proxy="http://username:password@proxy_ip:proxy_port/"
export https_proxy="http://username:password@proxy_ip:proxy_port/"- 克隆此项目:
git clone https://github.com/okingniko/BackupService.git - 自动更新所需的paramiko库:
git submodule update --init --recursive - 若系统未安装paramiko库,则使用以下命令安装:
cd paramiko
sudo python setup.py install##2. 配置MainConf.json文件
###2.1 backup method
"backup_conf" : [
{
"server_ip": "211.65.193.193",
"remote_dir": "/root/backuptest",
"user_name": "root",
"user_password": "XXXXXXX",
"local_dir": "/home/monster/BackupService",
"local_files": ["/home/monster/bro_start.sh",
"/home/monster/paramiko.tar.gz",
"/home/monster/bucunzaidewenjian"]
}
]其中:
- server_ip:远端(备份)服务器的ip
server_port: 远端(备份)服务器为22,即ssh端口。- remote_dir: 远端(备份)服务器的目的目录, 程序将自动根据当前日期创建子目录。
- user_name: 登录远端服务器的账户名
- user_password: 登录远端服务器的密码
- local_dir: 本地备份文件夹的位置
- local_files: 本地备份文件的位置
技术细节注解:
- 文件夹的路径可以随意设置,但最好是你需要备份的目录位置(最后的分隔符选择加与不加都随意).
- 本地可以为任意平台(E.g. windows, linux), 备份服务器需为linux系统.
- 通过拷贝黏贴, 你可以轻松的配置多台服务器的备份工作,
如果您不小心配置错误了,没有关系,程序将通过日志记录和命令行输出的形式为您提供充足的追查手段。
###2.2 Download method
建设中...
##3. 设置定时备份
使用编辑器(E.g. vim)打开/etc/crontab 文件,加入以下一行内容
0 2 * * * username . /path/to/Runbackup.sh /path/toe.g 在我的主机上配置成:
0 2 * * * monster . /home/monster/BackupService/RunBackup.sh /home/monster/BackupService
- 上述行的意思是: 每日凌晨两点执行代码备份工作
RunBackup.sh的作用主要是为了处理读取配置文件时相对路径的问题,当然也可以配置/etc/crontab中的PATH变量- 若想查看BackService.py的完整用法,可使用
-h或--help参数查看
##4. Debug version Demo
###4.1 Windows

##4. TODO:
- Add Download Mode.
Add CMD Argument parsing Or Add Graphical interface.- Etc.
##5. 参考链接
