git备份wordpress

git备份wordpress

去我的小站阅读可能体验更佳哦--也可以加我VX拉群讨论[ wolf_dan2 ]

登陆网站目录初始化git仓库 并且 与远程仓库对接上传

首先使用ssh工具(Xshell或者putty等)登入之后进入到自己wordpress网站的根目录

然后初始化仓库

git init

在远程coding或gitee上面新建私有仓库上面,土豪可以在在GitHub上面建私有仓库

登陆网站目录初始化git仓库 并且 与远程仓库对接

把自己网站所在的vps的公钥放到coding或gitee的ssh密钥管理里面

添加公钥

添加公钥

把本地仓库文件传到远程仓库

# 一定要把下面的ssh路径改成你的ssh路径啊,然后origin也可以改成其他名字(对应本地对远程的一种称呼)
git remote add origin git@git.dev.tencent.com:username/wordpreessbackup.git
# git 本地远程推送三连击
git add --all
git commit -m "你的注释"
git push -u origin master
三连击

我们想把数据库也备份怎么办?

那就干啊,直接在网站根目录下面执行数据库备份,先来看看数据库备份通用的语句
# hostname直接是本机,所以我们不用写
# username是我们的数据库的用户名
# mypwd是我们的数据库密码
# databasename就是要备份的数据名字
mysqldump -hhostname -uusername -pmypwd databasename > /path to backup/bakname.sql

# 所以我的语句应该是如下,你们也可以看着改动,这些数据的信息可以登陆宝塔面板看,或者找到你以前建网站的时候保存的一些重要信息
mysqldump -uwolfdanDB -ppassword wolfdanDB > wolfdanDB2019_7_6.sql
然后就成功了,再次推送到远程即可
数据库备份

如果你出了一些问题可以看这里,否则可以直接看下一步:

注: 其实wolfdan我是先犯了下面的错误然后才有上面一条龙正确的,所以下面的这些错误修正意见基本上是说把上面步骤完善好,233

  • 没有生成密钥且不会生成密钥的朋友可以看我以前发的文章,虽然当时写得比较水,但还是能看图解决问题的
  • 更新仓库发现没有访问权限则检查自己有没有做上面 生成密钥添加公钥
    更新仓库发现没有访问权限
  • 上传文件被告知src refspec master does not match any,我们使用git status检查发现是没有git add --all -- > 也就是说我们要先本地commit
    没有本地commit

写bash代码,并且使用crontab定时执行备份 并定时 清理一个月前备份的sql文件(节省内存呀)

如果每次都手动执行,难免会有忘记的时候,而且就算你博闻强识,你不嫌花时间吗?我们的追求当然是全自动化当然现在不想折腾了可以保存页面下次来继续折腾

写出backup.sh文件-->** 当然要把一些变量改成你的 变量值**

#!/bin/bash

#this is where
path=/home/www/wolfdan.cn

#数据库名称
sqlName=wolfdanDB

#用户名称
userName=wolfdanDB

#用户密码
userPasswd=root

#当前时间
DATE=`date +"%Y-%m-%d"`

#Log存放路径
LogFile=$path/backupLog/$DATE.log

#新建日志文件
touch $LogFile

#追加日志到日志文件
echo "wolfdan.cn git auto backup to coding server, start at  $(date +"%Y-%m-%d %H:%M:%S")" >>  $LogFile
echo "---------------------------------------------------------------------------" >> $LogFile


# 原本我以为执行bash会自动把目录切换,直到crond自动检测bash的log文件,并在log文件中告知我没有 .git文件,我才知道要自己手动cd
cd $path

mysqldump -u$userName -p$userPasswd $sqlName > wolfdanDB$DATE.sql

git add --all
git commit -m "`date '+%Y-%m-%d %H:%M:%S'`"
git push origin master

echo -e  "---Have a nice day in www.wolfdan.cn----welcome to contact me by VX:wolf_dan2--------\n">> $LogFile
backup的bash文件编写

赋予backup.sh执行权限并且测试一下

chmod 777 backup.sh

sh backup.sh

我自己之前bash没写好出现的一些问题

bash变量赋值不能为空

bash变量赋值不能为空

数据库名称和密码什么的不能出错

使用crontab定时

vim /etc/crontab 没有vim可以sudo apt-get install vim(Debian/Ubuntu用户)-sudo yum install vim(CentOS用户)下载或者暂时用 vi 代替

在注释下面添加你要的任务就行

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

# 我的wolfdan.cn 每周备份
0 3 * * 0 root /home/www/wolfdan.cn/backup.sh

# 自动删除一个月前的sql,下周git的时候会同步到云端删除
0 4 * * 0 root /home/www/wolfdan.cn/auto_rm.sh

重载配置并启让配置生效

#重新加载cron配置文件
sudo /usr/sbin/service cron reload
#重启cron服务
sudo /usr/sbin/service cron restart

crontab测试和auto_rm.sh放一起了,所以不妨继续往下看

写auto_rm.sh文件

编码

bash文件一定要小心写cpp时的习惯性变量赋值的空格!

#!/bin/bash

# 路径
Dir=/home/www/wolfdan.cn

#当前时间
DATE=`date +"%Y-%m-%d"`

#Log存放位置
LogFile=$Dir/backupLog/$DATE.log

#新建日志文件(其实backup的脚本已经建立了,不过建立同名的会直接输出到那里,所以没有关系)
touch $LogFile

#追加日志信息
echo "wolfdan,cn auto_rm .sql file a monoth ago. Start at $(date +"%Y-%m-%d %H:%M:%S")" >> $LogFile
echo "------------------------------------------------------------------------------" >> $LogFile

# 查找备份路径下,超过30天 且文件后缀为.sql 的 sql备份文件 然后删除
find $Dir -type f -mtime +30 -name '*.sql*' -exec rm {} \;


echo -e "----Done!Welcome to www.wolfdan.cn and add my VX:wolf_dan2---have a nice day!-------\n" >> $LogFile

赋予权限并且测试执行

chmod 777 auto_rm.sh

# 这里我们先创建1些一个月前的文件
touch -t 201905011230 test1.sql
touch -t 201906011230 test2.sql
touch -t 201907011230 test3.sql
# 查看目录下文件  当然也可以用   ll 详细查看带时间的文件信息
ls
#  然后 测试
sh auto_rm.sh
# 再次查看  当然也可以用   ll 详细查看带时间的文件信息
ls
删除的测试

crontab定时测试

细心用户可能看到我定时文件里面以及写上了auto_rm.sh任务了,没有写上的朋友快去写上吧

先修改crontabe配置vim /etc/contab

假设我们现在是11:15,那么我们把日,月,周全打成号,然后min设置成17,hour设置成11,这样就定时在2mins后了,然后auto_rm设置比backup多1mins*

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

# 我的wolfdan.cn 每周备份
17 11 * * * root /home/www/wolfdan.cn/backup.sh

# 自动删除一个月前的sql,下周git的时候会同步到云端删除
18  11 * * root /home/www/wolfdan.cn/auto_rm.sh

当然要重载并重启服务啦啦啦

#重新加载cron配置文件
sudo /usr/sbin/service cron reload
#重启cron服务
sudo /usr/sbin/service cron restart

当然我们又要创建一个月前的测试文件

# 这里我们先创建1些一个月前的文件
touch -t 201905011230 test1.sql
touch -t 201906011230 test2.sql
touch -t 201907011230 test3.sql

然后在11:18的时候去ls查看是否还有test1.sql 和 test2.sql

完美执行脚本啦

以及输出日志

输出日志是以前的,ball ball 你们动手试试给个反馈吧

输出日志是以前的,ball ball 你们动手试试给个反馈吧...不妨把你们的结果发到评论区,谢谢你们

参考的大佬文章:

https://blog.csdn.net/ouyang_peng/article/details/77334215

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容