惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
Microsoft Security Blog
Microsoft Security Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
V
Visual Studio Blog
宝玉的分享
宝玉的分享
IT之家
IT之家
人人都是产品经理
人人都是产品经理
T
The Blog of Author Tim Ferriss
I
InfoQ
B
Blog RSS Feed
T
Threatpost
博客园_首页
M
MIT News - Artificial intelligence
Spread Privacy
Spread Privacy
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Know Your Adversary
Know Your Adversary
U
Unit 42
Engineering at Meta
Engineering at Meta
C
Cyber Attacks, Cyber Crime and Cyber Security
月光博客
月光博客
Scott Helme
Scott Helme
T
Tor Project blog
有赞技术团队
有赞技术团队
AWS News Blog
AWS News Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Last Week in AI
Last Week in AI
S
Schneier on Security
Vercel News
Vercel News
博客园 - Franky
C
Cybersecurity and Infrastructure Security Agency CISA
L
LINUX DO - 热门话题
NISL@THU
NISL@THU
L
LangChain Blog
爱范儿
爱范儿
Google DeepMind News
Google DeepMind News
The GitHub Blog
The GitHub Blog
雷峰网
雷峰网
Latest news
Latest news
C
CXSECURITY Database RSS Feed - CXSecurity.com
Hugging Face - Blog
Hugging Face - Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
www.infosecurity-magazine.com
www.infosecurity-magazine.com
G
GRAHAM CLULEY
S
Security Affairs
A
About on SuperTechFans
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
大猫的无限游戏
大猫的无限游戏
W
WeLiveSecurity
Cisco Talos Blog
Cisco Talos Blog
罗磊的独立博客

ELuyee

自建邮件服务器,基于iRedMail搭建域名邮局不进垃圾箱 - ELuyee OpenAI ChatGPT注册使用,付费升级Plus订阅教程指南 - ELuyee 使用 Fastcomet 面板化简单地创建属于自己的博客 - ELuyee 简单易用私人网盘系统Cloudreve搭建安装教程 - ELuyee 开源论坛软件Nodebb 现代网络社区平台搭建教程 - ELuyee 将Azure机器配置的静态IP修改为动态IP地址 - ELuyee 境外PayPal收取联盟营销等平台打款,无损AFF收款! - ELuyee GEP 鹏卡,222929,557271,438357,493193虚拟信用卡 - ELuyee 汇款到中国银行卡的合法渠道,境外资金秒回国 - ELuyee
lnmp自动备份网站文件和数据库并上传到谷歌云盘 - ELuyee
Luyee · 2022-06-08 · via ELuyee

为什么要自动备份网站文件和数据库且还要自动上传到云盘?都说数据无价!这么做的主要原因是云厂商可能会把我们的账号封禁,连同这个账号下的全部VPS直接销毁!还有VPS所在机房、数据中心火灾等灾难也可能导致我们的服务器上的数据消失在灿烂的焰火中。

刚好,我有个稍稍有点悲伤的故事你稍稍了解一下,具体点的吐槽发布在论坛里,点此访问。我其中一个网站用的是甲骨文云(Oracle cloud)付费账户的VPS。尽管是付费用户,我依旧用的他们家可免费使用的服务器,确实是那个网站已经足够使用。

甲骨文封禁账号早有耳闻,这个事情发生属实意料之中。却没想到这么粗暴,直接封号删机,连数据转移的机会都不给。还好,网站内容不多,我直接从谷歌的缓存页面将内容恢复了过来。

lnmp备份网站文件和数据库上传到谷歌云盘

温馨提示:各位站长、博主.. 记得做好数据备份。

虽然我们个人不能做到大厂的容灾备份,但起码也算更稳妥了一分!如果还担心谷歌账号被封了咋办?那就再找找办法自动传回到自己的本地硬盘上吧!或者定时从服务器、谷歌云盘上下载备份数据到本地。

lnmp自动备份网站文件和数据库并定时上传到谷歌云盘

站长WordPress建站用的是lnmp一键安装包,这个程序中自带了备份脚本。我们只需修改脚本的部分参数,安装gdrive与谷歌云端硬盘授权,并配置好自动上传脚本即可。

修改备份脚本参数

修改/root/lnmp1.8/tools/backup.sh 备份脚本的几个参数。清注意:如果升级了lnmp一键安装包,此文件应需要再次修改。

Backup_Home="/home/backup/"  # 此为备份文件存放目录
MySQL_Dump="/usr/local/mysql/bin/mysqldump"  # mysqldump路径,如果是mariadb,替换/usr/local/mysql为/usr/local/mariadb
######~Set Directory you want to backup~######
Backup_Dir=("/home/wwwroot/eluyee.com" "/home/wwwroot/avatar.eluyee.com")  # 要备份的目录,目录用双引号括起来,多个目录空格隔开

######~Set MySQL Database you want to backup~######
Backup_Database=("lnmp" "eluyee")  # 要备份的数据库,目录用双引号括起来,多个目录空格隔开

######~Set MySQL UserName and password~######
MYSQL_UserName='root'  # MySQL root账号
MYSQL_PassWord='yourrootpassword'  # MySQL root密码

######~Enable Ftp Backup~######
Enable_FTP=0  # 是否启用ftp备份。0 启用;1 不启用
# 0: enable; 1: disable
######~Set FTP Information~###### ftp账号信息
FTP_Host='1.2.3.4'
FTP_Username='eluyee.com'
FTP_Password='yourftppassword'
FTP_Dir="backup"  # ftp服务器上存放备份的目录

#Values Setting END! 默认备份文件保存3天,可以修改backup.sh里的-3day为你指定的天数。

Gdrive 安装与谷歌云盘授权

Gdrive项目地址:https://github.com/prasmussen/gdrive,gdrive 是用于与 Google Drive 交互的命令行实用程序。

选择适合自己服务器的Gdrive版本下载安装。安装2.1.1版本gdrive时,在执行 gdrive about 命令后,若出现 -bash: /usr/local/bin/gdrive: No such file or directory 错误,那么执行apt install -y musl可解决。

cd /usr/bin
wget https://github.com/prasmussen/gdrive/releases/download/2.1.1/gdrive_2.1.1_linux_amd64.tar.gz
tar -zxf gdrive_2.1.1_linux_amd64.tar.gz
chmod +x /usr/bin/gdrive
apt install -y musl
gdrive about

执行后以上命令后,会出现一串URL并询问验证码,将URL地址复制粘贴到浏览器打开。

lnmp自动备份网站文件和数据库并上传到谷歌云盘

允许你要授权的谷歌账号,将返回的验证码复制粘贴到连接VPS的终端中。

返回谷歌账号信息表示gdrive已安装并配置完成。

返回谷歌账号信息

设置自动上传Google Drive脚本

编写脚本并添加到cron(基于时间的任务管理系统)使其按规定时间将备份文件夹上传到谷歌云盘,直接在vps上编辑 backupload.sh。

sudo -i
vi backupload.sh

写入如下代码后保存,其中路径等内容自行修改。

#!/bin/bash
BakDate=`date +%Y%m%d%H%M`
/root/lnmp1.8/tools/backup.sh
cp -r /home/backup /home/eluyee-${BakDate}
/usr/bin/gdrive upload --recursive  /home/eluyee-${BakDate}
rm -rf /home/eluyee-${BakDate}

试运行一次网站备份自动上传脚本。

chmod +x backupload.sh
/root/backupload.sh
试运行一次网站备份自动上传脚本

出现Uploading …,表示脚本执行成功。接下来执行

crontab -e

在最后一行添加

0 3 */3 * * /root/backupload.sh

其中/root/backupload.sh是脚本的完整路径,你可以根据自己的喜好修改。保存成功后,服务器每隔3天的凌晨3点0分,系统会自动备份服务器网站文件和数据库并上传到Google Drive。