[脚本]备份网站至又拍云

没事做,闲得无聊就摸了一个脚本出来

项目地址:https://github.com/kzw200015/backup2upyun

萌新作品,可能会有bug

特点:

  • 一键备份网站文件和数据库并压缩打包上传至七牛云
  • 自动删除3天前的旧备份
  • 基于python3

使用方法

直接使用git clone整个库

git clone https://github.com/kzw200015/backup2upyun.git

安装 python 环境

apt install -y python3

进入脚本目录

cd /root/backup2upyun

安装依赖

apt install -y python3-pip

pip3 install upyun

把配置文件复制一份

cp config.py.example config.py

按照config.py内的说明进行配置,内容大概是下面这样

1
2
3
4
5
6
7
8
9
10
11
12
## 配置部分开始 ##
service_name = '' #服务名称
operator_user = '' #操作员用户名
operator_passwd = '' #操作员密码
backup_mark = 'website-backup' #备份名称,用于标记
backup_dir = ['typecho','wordpress'] #你要备份的目录,用单引号包裹,不同项之间用逗号隔开
backup_pre_dir = '/home/wwwroot/' #备份目录的上级目录,即各个站点目录存放的目录。不要在这个目录下放扩展名为sql和zip的文件,因为脚本清理临时文件时会直接将这些文件删除,我懒得写判断了
backup_database = ['typecho','wordpress'] #备份的数据库名,用单引号包裹,不同项之间用逗号隔开
mysql_host = '127.0.0.1' #数据库地址,默认为本地
mysql_user = 'root' #数据库用户名
mysql_passwd = '' #数据库密码
## 配置部分结束 ##

执行脚本

./main.py

如果提示没有权限就执行chmod +x main.py后再执行

定时任务

cron实现
执行crontab -e,加入以下内容

1
2
3
LANG='en_US.UTF-8'
LC_ALL='en_US.UTF-8'
0 2 * * * /root/backup2upyun/main.py

保存退出即可,这样每天凌晨两点就会自动执行一次任务

作者

udp_bbr

发布于

2019-03-10

更新于

2020-06-21

许可协议