备份WordPress站点到Mega网盘并自动清理旧的备份

首先,你要做如下事情:
1. 去mega官网找到megacmd这个工具的rpm或者deb安装包下载到你的服务器上并进行安装
这里以ubuntu 20.04为例:

wget https://mega.nz/linux/repo/xUbuntu_20.04/amd64/megacmd-xUbuntu_20.04_amd64.deb
sudo apt install ./megacmd-xUbuntu_20.04_amd64.deb

  1. 在mega网盘控制台上新建一个文件夹,下方脚本用到的文件夹是Backups/Wordpress,以你自己的喜好建一个然后改变下面脚本的路径就行了
  2. 执行mega-login email password命令,自己替换一下邮箱和密码,如果开了两部验证也需要输入一下那个6位数字

直接上脚本:

cur_day=”$(date +%Y-%m-%d)”
wordpress_backup(){
db_username=”root”
db_password=””
db_name=”my_wordpress”
cd /home/wwwroot
tar czvf www.sharpgan.com_$cur_day.tgz www.sharpgan.com/
mega-put www.sharpgan.com_$cur_day.tgz /Backups/Wordpress
rm -rf www.sharpgan.com_$cur_day.tgz
mysqldump –opt -u$db_username -p$db_password $db_name | gzip > ./wordpress_db_$cur_day.sql
mega-put wordpress_db_$cur_day.sql /Backups/Wordpress
rm -rf wordpress_db_$cur_day.sql
old_mega_files=$(mega-ls –time-format=”%s” -lR –show-handles /Backups/Wordpress | grep ” H:” | sort -rk 4 | awk “{ if (\$4 < $(date –date=’7 days ago’ +%s) ) print \$5}”)
if [ ! -z “$old_mega_files” ]
then
mega-rm -r $old_mega_files
fi
}
wordpress_backup

以上脚本你需要修改一下WordPress mysql数据库的用户名密码和库名为你自己的,以及你的WordPress程序的根目录的上一级的路径和你的网站的文件名,就是下面这一些内容:

db_username=”root”
db_password=””
db_name=”my_wordpress”
cd /home/wwwroot
tar czvf www.sharpgan.com_$cur_day.tgz www.sharpgan.com/
mega-put www.sharpgan.com_$cur_day.tgz /Backups/Wordpress
rm -rf www.sharpgan.com_$cur_day.tgz

别的就不用动了,另外本文标题中的自动清理旧的备份的核心命令如下:

mega-rm -r $(mega-ls --time-format="%s" -lR --show-handles /compucenter |  grep " H:" | sort -rk 4  | awk "{ if (\$4 < $(date --date='7 days ago' +%s) ) print \$5}")

这里是保留了七天的备份,你可以自行修改上述命令中的时间为你想要的时间。
我这里之所以强调要自动清理旧的备份,是因为现在新的mega网盘账号的免费空间据说只有15G,虽然我的老账号有50个G也要省着用。
下面展示一下以上脚本的终端输出效果:

以下是mega网盘控制台的效果:

Related Post

发表回复