也比之前简单的多,其实也就是几件事情。
首先是,需要备份的服务器和备份的服务器都装上nfs。
yum install nfs-utils
有的可能还需要单独安装一下rpcbind
那就
yum install rpcbind
接着在被挂载服务器编写配置文件
vim /etc/exports
/root/work 192.168.0.3(rw,no_root_squash,no_all_squash,async)
/root/work 192.168.0.16(rw,no_root_squash,no_all_squash,async)
如像这样,授权了本地的/root/work 目录可以被两个服务器访问,权限是读写(rw)
这一部分就完成了。
接下来是需要备份的服务器:
安装玩nfs以后,在/mnt目录下建一个目录(通常都是在这个目录下,别问为什么?问就是通用习惯。)
cd /mnt
mkdir backserver
这就完成了目录创建
接着也是最重要的一步
mount -t nfs 192.168.0.18:root/work/backup /mnt/backserver/
这条命令的意思是挂载192.168.0.18:root/work/backup目录到本机的/mnt/backserver/
-t 是指定挂载类型,nfs,就是网络文件系统的简称。
这样之后,本机的/mnt/backserver/存的文件实际上是存在192.168.0.18:root/work/backup目录下的。
接下来就是一个见的文件拷贝命令。
rsync -avz /usr/local/nginx /usr/local/tomcat /mnt/backserver/09back
就把文件备份到192.168.0.18:root/work/backup目录下了。
实现自动备份就更简单了,直接把刚才的命令写入shell脚本
保存为backup.sh
然后加入系统定时计划
crontab -e
30 3 * * * sh /root/work/work/backup.sh
意思是每天三点执行一次脚本,就完成了自动异地备份。
整个过程还是很简答的,其中涉及一个cs的模式。
需要知道:
1,是客户端挂载到服务端。
2,服务端需要授予客户端访问权限。
对tomcat目录,每隔4个小时进行一次备份,以当前时间进行命名
1.创建备份目录:
mkdir:创建目录
rmdir:删除目录
2.编写运行脚本:
vi/touch:创建文件
vi/vim:编辑文件
打成zip包:
zip -r /usr/local/deploy/caseiBackups/$(date -d "today" +"%Y%m%d_%H%M%S").zip /usr/local/deploy/apache-tomcat-7.0.57
-r:递归处理,将指定目录下的所有文件和子目录一并处理。
/user/local/deploy/caseiBackups/$(date -d "today" +"%Y%m%d_%H%M%S").zip: 要备份文件的保存路径。
$(date -d "today" +"%Y%m%d_%H%M%S"):获取系统当前时间。
/usr/local/deploy/apache-tomcat-7.0.57 :备份文件路径。
查找小于10天的备份文件,并删除:
find /usr/local/deploy/caseiBackups/ "*.zip" -type f -mtime +10 -exec rm {} \>/dev/null 2>&1
/usr/local/deploy/caseiBackups/ :备份的文件所在目录。
-type
f:表示查找普通类型的文件,f表示普通文件。
-mtime
+5 按照文件的更改时间来查找文件,+5表示文件更改时间距现在5天以前;如果是 -mmin +5 表示文件更改时间距现在5分钟以前。
-exec
rm {} \表示执行一段shell命令,exec选项后面跟随着所要执行的命令或脚本,然后是一对儿{ },一个空格和一个\,最后是一个分号。
/dev/null
2>&1 把标准出错重定向到标准输出,然后扔到/DEV/NULL下面去。通俗的说,就是把所有标准输出和标准出错都扔到垃圾桶里面;其中的&表示让该命令在后台执行。
3.为执行脚本添加可执行权限:
chmod -R 777 bcaktomcat.sh
4.修改/etc/crontab
可以在最后一行直接添加
0 */4 * * * root /usr/local/deploy/alidata/backtomcat.sh:
每隔4小时执行一次backtomcat.sh脚本
*****command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
5.重启crontab:
service crond restart
!!!!(*^__^*) 嘻嘻……!!!!到这里就完了!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)