❶ 服务器数据怎样备份
对于服务器而言,它承担的使命是7x24小时不间断的对外提供稿袭服务,但它面临的风险也是很大的,无论是人为误操作、硬件损坏还是黑客攻击,难免有数据损坏丢失的时候。一旦发生数据损坏、丢失现象后,如果没有备份数据,那损失就大了,所以对于任何一台服务器而言,数据的备份机制是不可缺少的。
服务器根据提供的服务不同,大致可为分:数据库服务器、应用服务器、文件服务器。不同服务器的备份机制还是有所区别的,我们分别来看下:
文件服务器备份方案有哪些?
1、纯敬锋Rsync+Inotify实时增量备份
借助Linux的Inotify特性可以监测文件系统变化,一旦发现变化则通知Rsync去同步数据,这样就实现了增量备份,而且性能和及时性都很高。
2、通过服务器定时任务每日凌晨执行备份任务
这种只适合对重要的数据进行日切备份,大概思路就是:Crontab+shell脚本来定时备份。
3、云服务器可借助快照功能来全盘备份
数据库服务器备份方案
对于数据库而言建议部署“主从同步”来实现数据备份,这样做的好处就是:一方面存在数据副本,另外一方面多节点可以缓解数据库做晌压力。
当然了,现在主流数据库也提供全量备份的功能,但如果在数据量大的情况下可能会影响数据库的性能。
1、以主流的Mysql数据库为例,备份方案主要有:
binlog备份
mysqlmp全库备份
2、SQLServer也支持完全备份、事务日志备份、差异备份等:
以上就是我的观点,对于这个问题大家是怎么看待的呢?❷ 编写一个shell脚本每天16:30备份mysql数据并压缩打包(打包文件按照当天日期命名)放到/root/data下
#!/bin/bash
date=$(date-d'+0days''+%Y-%m-%d')#声明一个变量,并赋值当天日期
cd/root/data#进入目录
mkdir$date#创建目录
mysqlmp-uusername-ppassworddb_name>$date"db_name.sql"#数据库备份,修改用户名密码,还有要备份数据库
tar-zcf$date".tar.gz"$date#压缩打包
rm-rf$date#删除源数据
保存为bak.sh,每天16:30备份定时任务,没有crontab命令:yum install vixie-cron
chmod +x /.../bak.sh
crontab -e
30 16 * * * /.../bak.sh
❸ 设计一个shell脚本程序,要求有如下功能: 实现自动备份功能和清理备份等
#!/bin/bash
TIME=`date+%Y%m%d|cut-b3-8`
#question1
tar-zcvf/home/bak/VAR_$TIME_BAK.gzip/var
#question2
ls-l/var>>/home/bak/VAR_$TIME_BAK.log
#question3
find/home/bak-name'*gzip'-mtime+1|xargsrm-rf
脚本名字backup.sh,放到/root下,然后用root创建cronjob
0 12 * * * /root/backup.sh
#question 4 (以redhat为例)
echo " /root/backup.sh " >> /etc/rc.local
#question 5
把下列代码写入cronjob中
#!/bin/bash
TIME=`date+%Y"/"%m"/"%d""%H":"%m`
if[-f/home/shell.log]
then
echo"$TIMErunning">/home/tmp.log
cat/home/shell.log>>/home/tmp.log
mv/home/tmp.log/home/shell.log
else
touch/home/shell.log
fi
脚本名字status.sh,放到/root下 (写的有点小问题,功能执行没问题)
0 * * * * /root/status.sh