gitee在linux下自动备份 及ssh生成部署
1.生产密钥
ssh-keygen -t rsa -C "1213179416@qq.com"
2.查看密钥
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
到/root/.ssh/查看 cat id_rsa.pub 复制里面的内容。是以ssh-rsa 开头的。
3.更改gitee的提交方式
git remote -v 查看原来的提交方式,这里不能用https的方式提交,需要改为ssh的
git remote rm origin
git remote add origin git@gitee.com:sdgtxuyong/zhouyi2-sql.git
git push -u origin master 提交远程
或者已存在的拉去 git pull origin master
4.添加密钥到gitee网站,可信任
打开gitee网址,添加cat的id_rsa.pub 里面的内容。
这时候,再提交一次,需要输入一次密码,以后就不用输入了。
5.编写linux的自动脚本
#!/bin/sh #time1=$(date -d '-90 day' "+%Y%m%d")
time1=$(date -d '-2 month' "+%Y%m%d")
time2=$(date "+%Y%m%d") cd /root/git git add zhouyi2*
#echo $time1
git rm zhouyi2_$time1* git commit -m "sql $time2" git push origin master
删除90天之前的sql(或两月前),添加刚做的现在的备份
另外加入备份上传的文件,在上面的脚本上修改mysqlGit.sh
#!/bin/sh time1=$(date -d '-2 month' "+%Y%m%d") time2=$(date "+%Y%m%d") cd /root/git git add zhouyi2* #echo $time1 sleep 2 git rm zhouyi2_$time1* sleep 2 git commit -m "sql $time2" sleep 2 git push origin master cd /root/www/80/tempImag git add * git commit -m "image $time2" sleep 2 git push origin master
自动做备份数据库的脚本 mysqlBackup.sh
#!/bin/sh time1=$(date "+%Y%m%d-%H%M%S") mysqldump -uroot -pxxxxxx zhouyi2>git/zhouyi2_$time1.sql
crontab -e
*/5 * * * * ll 0 6 * * * /root/mysqlBackup.sh 10 6 * * * /root/mysqlGit.sh
每日6点做备份,6点10分,自动上传至gitee