Linux NFS挂载,实现异地文件备份

Linux NFS挂载,实现异地文件备份,第1张

最近做了一个文件的异地备份,采用网络挂载的方式,效果比之前用sync拷贝要方便的多。

也比之前简单的多,其实也就是几件事情。

首先是,需要备份的服务器和备份的服务器都装上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

!!!!(*^__^*) 嘻嘻……!!!!到这里就完了!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8900418.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-22
下一篇 2023-04-22

发表评论

登录后才能评论

评论列表(0条)

保存