不信任一切云端平台,把数据牢牢握在自己手中才是最安全的。
使用腾讯云服务器上的宝塔面板定时备份网站和数据库,然后定时将备份后的数据存到本地。
在python中使用scp将备份的网站文件和数据库文件传到本地。会将log信息放进rua.log中,若失败,则会出现持续几秒的弹窗提示。
import os
import paramiko
import unicodedata
from scp import SCPClient
import logging
import time
logging.basicConfig(filename='/path/to/bk/rua.log',level=logging.INFO)
week = ["一", "二", "三", "四", "五", "六", "日"]
t = time.localtime()
tm = "%s年%s月%s日(周%s), %s:%s:%s" % (t[0], t[1], t[2], week[t[6]-1], t[3], t[4], t[5])
logging.info(tm)
try:
client = paramiko.SSHClient()
client.load_system_host_keys()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect('腾讯云ip', 端口数字, '用户名', '密码')
scp = SCPClient(client.get_transport())
scp.get('/path/to/database', '/path/to/bk/database', recursive=True)
scp.get('/path/to/site', '/path/to/bk/site', recursive=True)
scp.close()
client.close()
except Exception as e:
os.system('osascript -e 'display notification "%s" with title "wordpress备份失败!!!" subtitle "请前往【/path/to/bk】检查" '' % e)
logging.error(e)
else:
logging.info("success !!!")
每次从这里调用rua.py,注意python指令不能直接用python,需要用其绝对路径(可以用whereis python查看)。
time=$(date "+%Y-%m-%d %H:%M:%S")
echo "$time" >> /path/to/bk/log.txt
/path/to/python /path/to/bk/rua.py
echo "finished" >> /path/to/bk/log.txt
创建一个标准输出文件。
touch stdout
在/Library/LaunchDaemons/中创建com.backupwordpress.plist。指定每天13点14分开始运行rua程序。
Label
com.backupwordpress
ProgramArguments
/path/to/bk/rua
StartCalendarInterval
Minute
14
Hour
13
StandardOutPath
/path/to/bk/stdout
StandardErrorPath
/path/to/bk/error.txt
运行:launchctl load -w /Library/LaunchDaemons/com.backupwordpress.plist
停止:launchctl unload -w /Library/LaunchDaemons/com.backupwordpress.plist
错误信息会保存在error.txt中
登录查看全部
参与评论
手机查看
返回顶部