共计 1582 个字符,预计需要花费 4 分钟才能阅读完成。
首先,你要做如下事情:
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
- 在 mega 网盘控制台上新建一个文件夹,下方脚本用到的文件夹是
Backups/Wordpress
,以你自己的喜好建一个然后改变下面脚本的路径就行了 - 执行
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 网盘控制台的效果:
正文完