linux配置文件、日志文件全备份

1、分别设置两台主机满足试验要求

                服务器                       IP                   主机名
         nginx-web服务器             192.168.10.150                    web1
             备份服务器             192.168.10.20                    backup

要求:每天晚上 00 点整在 Web 服务器上打包备份系统配置文件、网站程序目录及访问日志并通过 rsync 命令推送备份服务器 backup 上备份保留(备份思路可以是先在本地按日期打包,然后再推到备份服务器 backup 上),nginx-web服务器是实际工作中的服务器,具体要求如下:

1)服务器的备份目录必须都为/backup。

2)要备份的系统配置文件包括但不限于:

a.定时任务服务的配置文件(/var/spool/cron/root)。

b.开机自启动的配置文件(/etc/rc.local)。

c.日常脚本的目录 (/server/scripts)。

d.防火墙 iptables 的配置文件(/etc/sysconfig/iptables)。

3)Web 服务器站点目录(/home/www)。

4)Web 服务器访问日志路径(/app/logs)

5)Web 服务器保留打包后的 7 天的备份数据即可(本地留存不能多于 7 天)

6)备份服务器上要按照备份web服务器的 IP 为目录保存备份,备份的文件按照时间名字保存。

7)备份服务器上,保留每周一的所有数据副本,其它要保留 6 个月的数据副本。

8)需要确保备份的数据尽量完整正确,在备份服务器上对备份的数据进行检查,把备份的成功及失败结果信息发给系统管理员邮箱中。

2、nginx-web服务端备份代码

[root@web1 /]#vim backup.sh
#!/bin/bash
#定义变量
hostip=`hostanme -I`
cd /
varfile="./var/spool/cron/root ./etc/rc.local ./server/scripts ./etc/sysconfig/iptables"
date=`date +%F-%a`
webfile="/home/www"
weblog="/app/logs"
mkdir /backup > /dev/null 2>&1
mkdir -p /backup/$hostip#打包系统要求的配置文件、web站点目录、日志目录
tar -zcf /backup/$hostip/${date}.tar.gz ./$varfile
tar -zcf /backup/$hostip/webfile_${date}.tar.gz ./$webfile
tar -zcf /backup/$hostip/weblog_${date}.tar.gz ./$weblog
md5sum /backup/$hostip/* > /backup/$hostip/md5${date}.txt#通过rsync发送到备份服务器上
rcyns -avz ./backup/$hostip rsync_backup@192.168.10.20::backup --password-file=/etc/rsync.password > /dev/null 2>&1
if [ $? -ne 0 ];thenecho "备份失败" | mail -s "备份情况" 745651470@qq.com
fi#清理7天以前打包的文件
find /backup/$hostip/ -type f -mtime +7 -name "*.tar*" | xargs rm -f
find /backup/$hostip/ -type f -mtime +7 -name "md5*.txt" | xargs rm -f

定时任务

[root@web1 /]# crontab -e
00 00 * * * /bin/bash backup.sh >/dev/null 2>&1

3、备份服务器端代码

[root@backup /]# vim jiaoyan.sh
#!/bin/bash
date=`date +%F-%a`
cd /
A=(`ls /backup | xargs -n1`)
for ( i=0;i< ${#A[*]};i++ )
do/usr/bin/md5sum -c /backup/${A[i]/md5${date}.txt >> ./jiaoyanjieguo 2>/dev/null##-c选项来对文件md5进行校验。校验时,根据已生成的md5来进行校验。生成当前文件的md5,并和之前已经生成的md5进行对比,如果一致,则返回OK,否则返回错误信息
done
/bin/mail -s "备份数据" 745651470@qq.com < ./jiaoyanjieguo >dev/null 2>&1
rm -rf ./jiaoyanjieguo
find /backup/ -type f -mtime +180 ! -name "*Mon*" | xargs rm -f

定时任务

[root@backup /]# crontab -e
00 06 * * * /bin/bash jiaoyan.sh > /dev/null 2>&1

注:试验中的rsync服务的安装参考:http://douer.blog.51cto.com/6107588/1914098

脚本功能的实现还有进一步的优化,如有好的思路可以一起分享···

参考文档:http://caojiaoyue.blog.51cto.com/11798573/1923404

转载于:https://blog.51cto.com/douer/1928295

linux配置文件、日志文件全备份相关推荐

  1. linux日志文件备份,linux配置文件、日志文件全备份

    linux配置文件.日志文件全备份 1.分别设置两台主机满足试验要求服务器IP主机名 nginx-web服务器192.168.10.150web1 备份服务器192.168.10.20backup 要 ...

  2. Linux Rsync实现文件同步备份(转载)

    原文地址:Linux Rsync实现文件同步备份作者:夷北 转自:http://www.mike.org.cn/blog/index.php?load=read&id=639###pp=0 [ ...

  3. linux view查看日志命令,【Linux】linux查看日志文件内容命令tail、cat、tac、head、echo...

    linux查看日志文件内容命令tail.cat.tac.head.echo tail -f test.log 你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C, --------- ...

  4. linux view查看日志命令,linux查看日志文件内容命令tail、cat、tac、head、echo、vi

    linux查看日志文件内容命令tail.cat.tac.head.echo tail -f test.log 你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C, --------- ...

  5. java查看日志命令_[Java教程]【Linux】linux查看日志文件内容命令tail、cat、tac、head、echo...

    [Java教程][Linux]linux查看日志文件内容命令tail.cat.tac.head.echo 0 2017-11-14 12:00:29 linux查看日志文件内容命令tail.cat.t ...

  6. linux查看日志文件内容命令tail、cat、tac、head、echo、vi

    linux查看日志文件内容命令tail.cat.tac.head.echo tail -f test.log 你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C, --------- ...

  7. linux网络日志文件,系统日志文件 进程配置文件 进程信息文件 网络连接文件

    一.linux系统常用文件 /var/log/messages:系统日志文件,记录进程被系统kill.段错误等: /var/log/dmesg:硬件启动日志: /proc/sys/kernel/pid ...

  8. Linux 服务器日志文件查找技巧精粹

    用来在日志文件里搜索特定活动事件的工具不下几十种,本文将介绍搜索日志文件时应该采取的策略.然后,通过几个具体示例介绍一些使用grep命令手动搜索日志文件的办法.接下来,我们将看到 logwatch工具 ...

  9. Linux下日志文件过大解决方案

    点击上方"方志朋",选择"设为星标" 做积极的人,而不是积极废人 很多Linux服务器里的应用程序都是无间断的输出日志,这对于服务器的硬盘是一个很大的考验. 通 ...

最新文章

  1. 3.db2性能和优化
  2. MongoDB最佳实践(转)
  3. 前端vue的get和post请求
  4. poj1390 (区间dp)
  5. Thread多线程用法示例
  6. CentOS搭建Git服务器
  7. 2021美赛成绩查询证书下载
  8. 易于查阅,幕布记忆思维导图
  9. QAbstractButton的clicked、pressed、released、toggled、triggered等信号区别
  10. html中bottom的属性,css中bottom是什么意思?
  11. 【备忘】总结一些Java学习者经常去的网站及论坛
  12. ubuntu php代码编辑器,Linux_ubuntu16.04编辑器vi该怎么使用?,vi编辑器,ubuntu中最基本的文 - phpStudy...
  13. 重庆理工大学计算机考研分数,重庆理工大学历年考研分数线汇总[2012-2021]
  14. 仿射密码 python实现
  15. virgo极简虚拟桌面 1.4.2 上班族必备
  16. c 语言获取系统时间并打印机,C获取打印机状态API函数详解.docx
  17. ps和netstat
  18. neo4j cypher操作
  19. bert知识蒸馏动态温度设置Annealing Knowledge Distillation (EACL 2021) Reducing the Teacher-Student Gap
  20. SNAP:哨兵3 OLCI level-1B产品处理

热门文章

  1. java面试的题积累【持续更新中......】
  2. 在vue中使用代理地址出现将代理拦截地址拼接到了接口请求中的情况
  3. 各种流行深度学习构架的性能对比
  4. max 宏定义取消:error C2589: error C2059: 语法错误 : “::”
  5. android 标准字体,文字规范标准(IOS/Android)
  6. 【转】Python-面向对象进阶
  7. Arduino使用HC05蓝牙模块与手机连接(转载)
  8. 【全球AI人才排行榜】美国第一,中国仅排名第7
  9. 详解 javascript中offsetleft属性的用法(转)
  10. CCF201409-2 画图 java(100分)