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服务端备份代码

[[email protected] /]#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 [email protected]::backup --password-file=/etc/rsync.password > /dev/null 2>&1
if [ $? -ne 0 ];then
 echo "备份失败" | mail -s "备份情况" [email protected]
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

定时任务

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

3、备份服务器端代码

[[email protected] /]# 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 "备份数据" [email protected] < ./jiaoyanjieguo >dev/null 2>&1
rm -rf ./jiaoyanjieguo
find /backup/ -type f -mtime +180 ! -name "*Mon*" | xargs rm -f

定时任务

[[email protected] /]# 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

时间: 2024-08-06 07:56:59

linux配置文件、日志文件全备份的相关文章

linux查看日志文件内容命令tail、cat、tac、head、echo详解

linux查看日志文件内容命令tail.cat.tac.head.echo tail -f test.log你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C, ---------------------------linux 如何显示一个文件的某几行(中间几行) 从第3000行开始,显示1000行.即显示3000~3999行cat filename | tail -n +3000 | head -n 1000 显示1000行到3000行cat filename| head -

[转]linux查看日志文件内容命令

linux查看日志文件内容命令tail.cat.tac.head.echo tail -f test.log你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C, ---------------------------linux 如何显示一个文件的某几行(中间几行) 从第3000行开始,显示1000行.即显示3000~3999行cat filename | tail -n +3000 | head -n 1000 显示1000行到3000行cat filename| head -

Linux Centos7 日志文件详解

一.日志文件 日志文件对于诊断和解决系统中的问题很有帮助,因为在 Linux 操作系统中运行的程序通常会把系统消息和错误消息写入相应的日志文件,这样系统一旦出现问题就会"有据可查".此外,当主机遭受袭击时,日志文件还可以帮助寻找袭击者留下的痕迹. 1.日志文件的功能和分类 2.日志文件保存位置和文件介绍 Linux 操作系统本身和大部分服务器程序的日志文件都默认放在目录/var/log/下.一部分程序共用一个日志文件,一部分程序使用单个日志文件,而有些大型服务器程序由于日志文件不止一个

41 mariadb日志文件、备份和恢复基础

01 mariadb日志文件 CentOS 7编译安装Mariadb [[email protected] ~]# yum -y groupinstall "Development Tools" [[email protected] ~]# yum install ncurses-devel openssl-devel libevent-devel jemalloc-devel cmake -y [[email protected] ~]# tar xf mariadb-5.5.53.

Linux学习日志--文件搜索命令

开头总结: 学习了Linux中的文件搜索命令find和locate,系统搜索命令whereis 和which ,字符串搜索命令grep,find和locate的区别和用法格式,什么是path环境变量以及其好处,whereis和which的用法,区别在于查询系统命令内容的不同,grep和find的区别,为什么要引入通配符? 什么情况下用通配符还是正则表达式? Locate文件搜索命令: 1)格式: Locate [文件名] 2)更新数据库 updatedb 好处: 相对于find命令来说,Loca

通过RMAN联机全库备份,包括控制文件,归档日志文件,备份成功后,删除已备份的归档日志。

RMAN> backup as backupset full database format '/u01/app/backup/db_%U.rmn' include current controlfile plus archivelog delete all input; Starting backup at 10-OCT-16 current log archived using target database control file instead of recovery catalog

Linux命令之文件实时备份 -incron,rsync,inotify

一.rsync.incron简介 关于rsync工具的介绍和使用,以及其结合cron工具实现定时备份的功能,可参考博文:http://blog.csdn.net/wangjunjun2008/article/details/38658539; inotify 是一种文件变化通知机制,Linux内核2.6.13(2005/06/18)版本开始引入; inotify仅仅是一个API,需要通过开发应用程序进行调用; inotify-tools则是inotify的一种实现,它是一套组件,包括一个C库和几

rsync+inotify-tools+ssh实现mysql-bin日志文件实时备份

1.环境:两台Centos计算机直连,其服务器A的IP地址为192.168.1.124,服务器B的IP地址为192.168.1.121. 2.需求软件安装(ssh系统默认已经安装): 服务器A: yum install rsync inotify-tools 服务器B: yum install rsync 3.建立用户(备份执行用户) 建立用户:useradd rsync 设置密码:略 注意:两台服务器都需要建立用户(此处两天服务器建立了相同的用户,也可建立不同的用户) 4.建立ssh-key实

linux查看日志文件

var/log/wtmp文件记录着用户的登陆时间和ip地址,使用who命令可以查看 who var/log/wtmp 显示如下 其中pts代表登陆的终端编号,从0开始,gpadmin账号在11:01分在第四个终端登陆的情况,也就是说gpadmin账号同时有4人在使用 第一个终端pts/0 第二个终端pts/1 依次类推 var/log/lastlog 记录最后一次用户成功登录的时间.登录ip等信息 cat var/log/lastlog /var/log/messages 记录linux操作系统