个人博客

记录一些日常

备份服务器文件至Google Drive

安装

在服务器执行

wget -O /usr/bin/gdrive "https://docs.google.com/uc?id=0B3X9GlR6EmbnQ0FtZmJJUXEyRTA&export=download"
chmod +x /usr/bin/gdrive

gdrive about

访问输出的链接,使用Google账户登录并授权,会得到一个字符串,将字符串输入,就登录成功了。同时会输出Google Drive网盘的总可用空间以及已用空间

《备份服务器文件至Google Drive》

更多命令

gdrive [global] list [options]            列出文件
gdrive [global] download [options]        下载文件或目录
gdrive [global] download query [options]  下载匹配查询的所有文件和目录
gdrive [global] upload [options]          上传文件或目录
gdrive [global] upload  -  [options]      从stdin上传文件
gdrive [global] update [options]          更新文件,这将创建该文件的新版本
gdrive [global] info [options]            显示文件信息
gdrive [global] mkdir [options]           创建目录
gdrive [global] share [options]           共享文件或目录
gdrive [global] share list                列出文件权限
gdrive [global] share revoke              撤销权限
gdrive [global] delete [options]          删除文件或目录
gdrive [global] sync list [options]       列出驱动器上的所有可同步目录
gdrive [global] sync content [options]    列出可同步目录的内容
gdrive [global] sync download [options]   将驱动器目录同步到本地目录
gdrive [global] sync upload [options]     将本地目录同步到驱动器
gdrive [global] changes [options]         列出文件更改
gdrive [global] revision list [options]   列出文件修订版
gdrive [global] revision download [options]  下载修订版
gdrive [global] revision delete           删除文件修订版
gdrive [global] import [options]          上传文件并将其转换为google文档,有关可用转化的信息,请参阅“关于导入”
gdrive [global] export [options]          导出google文档
gdrive [global] about [options]           Google驱动器元数据,配额使用情况
gdrive [global] about import              显示支持的导入格式
gdrive [global] about export              显示支持的导出格式
gdrive version                            打印应用程序版本
gdrive help                               打印帮助
gdrive help command                       打印命令帮助
gdrive help command subcommand            打印子命令帮助

备份脚本

脚本下载:backup

各参数设定说明(各项设定值需填在对应项后面的双引号当中):

1.BACKUP_DIR_DATABACKUP_DIR_FILE 打包文件时的暂时存放目录,上传后脚本就会删掉,不会暂用空间,不需要更改
2.MYSQL_DBS 需要备份的数据库库名,如有多个需用空格隔开
3.BACKUP_SRC 需要备份的目录,如有多个需用空格隔开
4.BACKUP_FILE_PASSWD 备份文件压缩包的解压密码,不能留空
5.mysql_user 和 mysql_passwd 你的mysql账户名和密码,用于5.6版本之前的mysql
6.is_mysql_5_6 如果你的 mysql 是 5.6 及以上版本,此处需填y。使用本脚本备份时,需先编辑 my.conf 设定 mysql 密码(mysql的强制要求,5.6版本之后,命令中不能包含 mysql 密码。因此需要在 my.conf 文件中设定 mysql 密码。lnmp.org 脚本安装的 lnmp 其 my.conf 文件在 /etc 目录)
7.delete_old_backup_settings 删除旧备份设置。0时保留所有备份,1时仅保留一个最新备份。由于gdrive只有免费15GB存储空间,如果一直添加新备份而不删除旧备份,空间可能会全部占用,导致新备份无法保存。如果你是edu账户,可以设置为0,但建议定期登录查看状态,以避免edu账户翻车后,急需备份数据而无法获取的情况
8.sql_google_drive_code 和 file_google_drive_code sql数据和网站文件的存放目录。可以在网页端创建文件夹,然后在服务器上使用 gdrive list 查看对应的文件夹id,然后填入

使用备份脚本

备份sql:bash backup.sh data
备份文件:bash backup.sh file

定时任务

每小时备份一次sql

0 * * * * /bin/bash /root/backup.sh data

每天0时备份一次文件

0 0 * * * /bin/bash /root/backup.sh file

切换账户

将位于/root目录下的隐藏文件夹.gdrive删除,或者删除.gdrive隐藏文件夹中的token_v2.json,亦或者将其重命名以便需要时切换

发表评论

电子邮件地址不会被公开。 必填项已用*标注