定时备份WordPress网站目录与数据库到免费云存储,全面保障数据安全,防止VPS跑路,杜绝数据丢失风险。

 4个月前     1,430  

文章目录

本文介绍了一种全面保障数据安全的方法,通过python脚本自动定时备份WordPress网站目录和数据库,并且推到到七牛云的免费10G云存储kodo,大家都懂VPS这种可以可能有跑路的风险,这样有效防止数据丢失风险。这种备份策略能确保在意外情况下,重要数据得以完整保存,并能迅速恢复,确保业务的连续性和稳定性。本文详细介绍了备份的实施步骤,帮助站长应用这一关键技术,以提升自己的数据安全保障水平。

环境安装

  • centos7下安装python模块
yum install python-pip -y
python -m pip install  --upgrade pip
python -m pip install  --upgrade setuptools
pip install qiniu

推送备份文件到云存储python脚本

cat /data/scripts/push_file_to_qiniu.py 
# -*- coding: utf-8 -*-
# flake8: noqa
from qiniu import Auth, put_file, etag
import qiniu.config
import sys



if len(sys.argv) != 3:
    print("输入错误")
    print("例子:python2.7 push_file_to_qiniu.py www 20220417-html.tar.gz")
    sys.exit(2)

#需要填写你的 Access Key 和 Secret Key
access_key = 'xxxxxx'  #需要你申请七牛云免费云存储
secret_key = 'xxxxxx'  #需要你申请七牛云免费云存储
#构建鉴权对象
q = Auth(access_key, secret_key)
#要上传的空间
bucket_name = 'my-file-backup'
#上传后保存的文件名
key =   sys.argv[1] + '/' + sys.argv[2]
#生成上传 Token,可以指定过期时间等
token = q.upload_token(bucket_name, key, 3600)
#要上传文件的本地路径
localfile = '/data/backup/' + sys.argv[2]
ret, info = put_file(token, key, localfile, version='v2') 
print(info)
assert ret['key'] == key
assert ret['hash'] == etag(localfile)

备份WordPress网站目录

cat /data/scripts/www_backup.sh 
#!/bin/bash
#
#
www_dir=(www.vpsxr.com) #多个站点可以用空格隔开
mkdir -p /data/backup/
mtime=$(date +%Y%m%d%H%M%S)
for  i in ${www_dir[@]}
do 
    cd /data/www || exit 2
    bakfile=qiniu_www_${i}_${mtime}.tar.gz
    tar zcf ${bakfile} ${i}/
    mv ${bakfile}  /data/backup/
    /usr/bin/python2.7 /data/scripts/push_file_to_qiniu.py www-backup  $bakfile
done
cd /data1/backup || exit 2
find ./ -name "*.tar.gz" -mtime +0 -exec rm -rf {} \;

备份WordPress数据库

cat /data/scripts/mysql_backup.sh 
#!/bin/bash
#
#

mkdir -p /data/backup/
mtime=$(date +%Y%m%d%H%M%S)
mybin=/usr/local/mysql/bin  ##对应你的mysql路径
user=root      #mysql账号
password=xxxx  #mysql密码
backupdb()
{
for dbname in `$mybin/mysql -e "show databases;" -u${user} -p${password} -P3306  -h127.0.0.1  2>/dev/null| egrep "woldpress"`
do
#数据库是woldpress,多个数据库可以用woldpress|wb|vpsxr
            cd /data/backup
	    bakfile=qiniu_db_${dbname}_${mtime}.sql.gz
	    $mybin/mysqldump -u${user} -p${password} -P3306  -h127.0.0.1   $dbname | gzip > $bakfile
	    echo "开始上传文件到七牛云"
           /usr/bin/python2.7 /data/scripts/push_file_to_qiniu.py db-backup $bakfile
done
cd /data/backup || exit 2
find ./ -name "*.sql.gz" -mtime +5 -exec rm -rf {} \;
}

backupdb

 

设置crontab定时任务

# crontab  -l
1 3 */5  * * /bin/bash /data/scripts/www_backup.sh  > /dev/null 2>&1
1 4 */5  * * /bin/bash /data/scripts/mysql_backup.sh  > /dev/null 2>&1
版权声明:VPS推荐 发表于 4个月前,共 2212 字。提醒:请注意文章发布时间,如果太久了,相关活动可能失去时效性,请谅解!
转载请注明:定时备份WordPress网站目录与数据库到免费云存储,全面保障数据安全,防止VPS跑路,杜绝数据丢失风险。 | VPS XR
京东云-国内服务器 华为云-国内服务器

1 条评论

  • avatar

    need login ( 高能达人 )

    回复

    :eek: