Ubuntu下设置gdrive谷歌硬盘自动备份服务器数据
服务器数据需要定期备份下 记录下过程
系统:Ubuntu
环境:LNMP
服务:Docker
需要备份网站数据 数据库 家目录文件
创建备份脚本文件夹
mkdir backup
下载gdrive 如果有新版 下载最新版本
wget https://github.com/prasmussen/gdrive/releases/download/2.1.1/gdrive_2.1.1_linux_386.tar.gz
解压
tar -zxvf gdrive_2.1.1_linux_386.tar.gz
查看解压情况
ls -al
新出现一个gdrive可执行文件
登入你的Google账户
./gdrive about
复制链接到浏览器打开 登入Google后复制token粘贴到ssh中 回车
会出现你的Google Drive情况
创建备份脚本
vi backup.sh
写入以下内容#!/bin/sh
date=$(date -d "now" +%Y-%m-%d)
mkdir $date
cd $date
tar -zcvf wwwroot_$date.tar.gz /home/wwwroot/
tar -zcvf root_$date.tar.gz /root/
tar -zcvf Nginxconf_$date.tar.gz /usr/local/nginx/conf/
/usr/local/mysql/bin/mysqldump -u数据库用户名 -p数据库密码 --add-drop-table --complete-insert 数据库名 | gzip > sql_$date.gz
cd ..
./gdrive upload $date/wwwroot_$date.tar.gz
./gdrive upload $date/root_$date.tar.gz
./gdrive upload $date/Nginxconf_$date.tar.gz
./gdrive upload $date/sql_$date.gz
rm -rf ./$(date -d "yesterday" +%Y-%m-%d)
./gdrive delete wwwroot_$(date -d"3 day ago" +%Y-%m-%d)
./gdrive delete root_$(date -d"3 day ago" +%Y-%m-%d)
./gdrive delete Nginxconf_$(date -d"3 day ago" +%Y-%m-%d)
./gdrive delete sql_$(date -d"3 day ago" +%Y-%m-%d)
备份今日网站目录/home/wwwroot/ 家目录/root/ 配置文件目录/usr/local/nginx/conf/ 数据库
gdrive分别上传上述备份文件
删除昨天备份的存储在本地的文件
删除google drive上三天前的文件
创建crontab定时任务
crontab -e
写入
1 6 1 * * sh /userdir/backup/backup.sh
每月一号早上六点一分备份一次
附上shell脚本的日期表达
今天的日期
log=$(date -d "now" +%Y-%m-%d)
echo ${log}
获取昨天的日期
log2=$(date -d "yesterday" +%Y-%m-%d)
echo ${log2}
或者
log2=$(date -d "1 day ago" +%Y-%m-%d)
echo ${log2}
获取前天的日期
log3=$(date -d"2 day ago" +%Y-%m-%d)
echo ${log3}
获取具体日期的前几天
log4=$(date -d"15 day ago 2017-04-16" +%Y-%m-%d)
echo ${log4}
参考
https://www.homedt.net/21823.html
https://bynss.com/wordpress/301088.html
https://www.cnblogs.com/chenmh/p/5300370.html
https://github.com/prasmussen/gdrive/blob/master/README.md#downloads
https://blog.csdn.net/qq_24309787/article/details/93851744
感谢分享 测试备份成功
?