首先,你要做如下事情:
1. 去mega官网找到megacmd这个工具的rpm或者deb安装包下载到你的服务器上并进行安装
这里以ubuntu 20.04为例:
1 2 3 |
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位数字
直接上脚本:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
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程序的根目录的上一级的路径和你的网站的文件名,就是下面这一些内容:
1 2 3 4 5 6 7 8 |
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 |
别的就不用动了,另外本文标题中的自动清理旧的备份的核心命令如下:
1 2 |
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网盘控制台的效果: