/etc/目录下的众多常用配置文件,尤其是修改过后的配置文件
root及普通用户家目录下的相关配置文件(注意隐藏文件)
各类管理服务器的脚本工具
用户家目录或者自定义目录下用户上传的重要文件
系统自带日志:/var/log/*
第三方软件日志: 比如/usr/local/apache2/logs/*
Apache、Nginx、Tomcat等常见web服务器所分享的网页及静态资源文件
MySQL、Mariadb、Oracle等数据库保存的数据文件
命令:diff(patch)、cpio、cp、tar、zip、rsync、scp、dump、mysqldump
工具:一般都是第三方开源软件,自行研究
参考因素:效率、安全性、稳定性
同端备份:一般数据不是特别重要时,可以选择在同一操作系统内不同分区或磁盘上备份
多端备份:在同一地理区域内,实现多设备或多机备份,防止单个设备出现灾难性故障,方便快速恢复
异地备份:又称异地容灾备份,适合数据比较重要的情况,防止某一地理区域内出现灾难性故障
云端多重备份:多数据中心云端备份,异地容灾备份的升级版,但如果不是私有云,安全性需要考量
设备备份:磁轨备份,直接将整个磁盘设备复制,出错几率为0,恢复非常快。
热备份:数据不断变化时备份,备份快,将所有数据变化的操作记录下来,或将新增内容备份下来
缺点:备份过程不能出错,否则恢复很难;需要时刻关注,一旦出现问题就是大量数据丢失
冷备份:数据停止变化时备份,俗称离线备份,安全度高,备份数据易恢复,速度较快
缺点:冷备份时需要停止数据变化;数据量较大时,备份到其他设备可能需要消耗较长时间
选择夜间或者凌晨备份,在服务器压力负载最低的时候进行备份,减少对服务器正常运行的影响
检查备份策略是否正常执行
不定时测试备份的文件是否可以用于恢复
此部分涉及到如何备份数据,因为进行数据备份时肯定需要消耗系统的资源,选择合适的模式可以降低对服务器运行的影响。
这个最好理解,将所有要备份的内容完全备份一遍,若在两个时间点执行完整备份,即便数据没有任何变更,数据也照样会完整备份一遍,不会检查上次备份。
先进行一次完整备份,然后周期性的备份新增的内容,这样每次仅备份新增内容,大大减少的备份数据量,提高了备份效率。但是每次备份都需要生成一个独立的增量备份文件,且所有备份之间的顺序关系不能搞混,否则恢复极为麻烦。
差异备份与增量备份类似,都是先进行完整备份,然后将新增变化内容备份,不同的地方在于,差异备份每次对比的都是第一次完整备份,也就是说,差异备份的备份量会随着时间的增加不断增大,但即便如此也比每次都完整备份轻松许多,而且,差异备份恢复起来非常方便,仅需要第一次完整备份和最近一次的差异备份文件即可。
[root@localhost ~]# tar -zcvpf /root-backup.tar.gz --exclude=/proc --exclude=/lost+found --exclude=/media --exclude=/sys --exclude=/root-backup.tar.gz /
使用tar命令可以轻松实现指定内容备份,并且保留备份内容的权限归属等信息,可以使用指定的选项排除一些特定的目录,以免对备份造成影响:–exclude=
[root@localhost ~]# tar -zxvpf root-backup.tar.gz -C /
恢复时,同样使用tar命令,恢复完成后请先手动创建那些忽略掉的目录,并重启操作系统,当然如果SELinux开启的话,可能会有所影响。
#!/bin/sh
mkdir /home/temp
#创建一个临时文件
cp -a /home/data/* /home/temp
#数据存在data目录下,备份到temp目录下,所以先将数据拷过来
tar -zcPvf /home/data$(date +%Y%m%d).tar.gz /home/temp
#将数据所在文件夹temp打包
rm -rf /home/temp/
#删除临时文件内容
find ./ -mtime +30 -name "*.tar.gz" -exec rm -rf {} \;
#删除该文件夹下超过30天的备份文件