需求
图片托管在七牛上。数据库这玩意还是定期备份一下好。之前一直用的邮箱来备份数据库。但海外的主机用国内的邮箱好像GG了。另辟蹊径,腾讯云有个COS对象存储支持API、SDK,开发者工具也是屌的不行。建个私有Bucket放点小东西还行。
COS 简介
对象存储(Cloud Object Storage,简称:COS)是腾讯云提供的一种存储海量文件的分布式存储服务,用户可通过网络随时存储和查看数据。腾讯云 COS 使所有用户都能使用具备高扩展性、低成本、可靠和安全的数据存储服务。
COS 通过控制台、 API、SDK 等多样化方式简单、快速地接入,实现了海量数据存储和管理。通过 COS 可以进行多格式文件的上传、下载和管理。腾讯云提供了直观的 Web 管理界面,同时遍布全国范围的 CDN 节点可以对文件下载进行加速。
更多请戳https://www.qcloud.com/document/product/436/6222
前期工作
腾讯云账号,开通COS
获取API密钥,后边会用到。https://console.qcloud.com/cos4/secret
新建一个私有Bucket
开搞
1、数据库备份:
mysqldump -uUser -pPASS dbname>/root/data/`date +%F`.sql #解释:-u后面跟用户名 -p跟密码 dbname就是数据库名字,`date +%F`这个是日期,比如会生成当天20170920.sql
2、下载COS工具并配置:我用的本地同步工具,只能上传或更新,那个COSCMD工具更屌。配置文件怎么写官方教程中很清楚,认真看!!不再赘述!教程:https://www.qcloud.com/document/product/436/7133
工具需要服务器上有java环境,JDK 1.7 或 1.8,没有的请安装。不会安装的去百度。
完事以后放一个文件运行一次同步,看看COS中bucket里有没有。
3、设置定时任务:linux里边可以用crontab来实现,windows下有计划任务。
crontab详解:http://www.cnblogs.com/longjshz/p/5779215.html
在此说下linux下crontab配置,crontab -e编辑当前用户任务:
00 00 * * * sh /root/mysql.sh #意思是每天00:00执行/root/mysql.sh
也可以改成00 00 * * 5 sh /root/mysql.sh #意思是每周五00:00执行/root/mysql.sh
mysql.sh的内容,注意改成自己服务器对应的路径:
mysqldump -uUser -pPASS dbname>/root/data/`date +%F`.sql #导出数据,延时3秒,数据量大就加大延时 sleep 3 cd /root/cos_sync1/ && sh start_cos_sync.sh #运行同步上传 sleep 10 rm -rf /root/data/`date +%F`.sql #延时10秒后删除备份
4、备注:
Ubuntu 、Debian系统在使用crontab默认的编辑器是nano,用起来很不方便。可以选择vim,输入3回车就行了,如下:
root@lamp-16:~# select-editor Select an editor. To change later, run 'select-editor'. 1. /bin/ed 2. /bin/nano <---- easiest 3. /usr/bin/vim.basic 4. /usr/bin/vim.tiny Choose 1-4 [2]: 3
完成
去腾讯云COS控制台看下文件上传成功了。文章需要掌握一定linux命令,有问题加群交流吧。