博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux远程备份—ftp方式、NFS方式
阅读量:5863 次
发布时间:2019-06-19

本文共 1554 字,大约阅读时间需要 5 分钟。

问题:现在项目中每天都有从其它各个系统发过来的数据文件(存放在/var/data目录下,以.txt结尾),虽然很久以前的文件很少用到,占用了很多空间,却不能删除。于是,想把一个月以前的文件都压缩了传到备份服务器上。目前想到的实现方式有FTP和NFS两种。


具体实现步骤如下:

1. 找到一个月以前的数据文件,然后压缩;
2. 把压缩好的文件上传到备份服务器。此处有2种途径:a.通过ftp上传; b.mount备份到NFS服务器;
3. 上传成功后删除数据文件;


1、ftp实现远程备份的完整shell

[root@toughhou ftp]# cat ftp_bakup.sh 
#!/bin/bash
cd /var/data

#获取备份时间

BAKUP_DATE=$(date +%Y%m%d)

#找出满足条件(30天以前创建,以.txt结尾)的数据文件,并压缩

find ./ -mtime +30 -name "*.txt" -exec tar -cvf $BAKUP_DATE.tar {} \;

#以非交谈模式登陆,进入到存放备份文件的目录(/home/tough/ftp),进入到本地数据文件目录(/var/data),上传所有*.tar文件,最后退出ftp

ftp -n 192.168.0.100 << EOF
user tough tough
bin
lcd /var/data
prompt
mput *.tar
bye
EOF

#进入到本地数据文件目录,删除30天以前修改过的数据文件及压缩文件

cd /var/data
find /var/data -mtime +30 -name "*.txt" -exec rm -rf {} \;
find /var/data -name "*.tar" -exec rm -rf {} \;


2、NFS实现远程备份完整shell

[root@toughhou ftp]# cat nfs_bakup.sh 
#!/bin/bash
cd /var/data

#获取备份时间

BAKUP_DATE=$(date +%Y%m%d)

#找出满足条件(30天以前创建,以.txt结尾)的数据文件,并压缩

find ./ -mtime +30 -name "*.txt" -exec tar -cvf $BAKUP_DATE.tar {} \;

#将NFS服务器的192.168.0.100:/var/nfs挂载到本机的/mnt/remote目录下,通过cp命令备份*.tar到远程

mount -t nfs 192.168.0.100:/var/nfs /mnt/remote
cp *.tar /mnt/remote

#备份完成后卸载远程nfs目录(用完后卸载以免给NFS服务过多压力)

unmount /mnt/remote

#进入到本地数据文件目录,删除30天以前修改过的数据文件及压缩文件

cd /var/data
find /var/data -mtime +30 -name "*.txt" -exec rm -rf {} \;
find /var/data -name "*.tar" -exec rm -rf {} \;


3、FTP和NFS远程备份比较

nfs使用UDP协议,效率相对较高,它的代码都是集成在内核里的,而且为性能做了很多优化。但如果做远程备份的话,可能会出现mount不上的问题。
ftp使用TCP协议,更可靠,但性能稍差点。


关于Linux下ftp服务器安装可以参考:

关于Linux下NFS服务器安装可以参考:

 

 

转载于:https://www.cnblogs.com/toughhou/p/3778776.html

你可能感兴趣的文章
CF1027D Mouse Hunt 思维
查看>>
seleium 滑动到底部
查看>>
一个域名如何解析到多个ip地址
查看>>
内置模块(二)
查看>>
大道至简
查看>>
Java使用PropertyDescriptor获取实体类中私有属性的值,并给私有属性赋值
查看>>
PHP 单点登录实现方案
查看>>
资金流学习 - 关注点
查看>>
Linux 常用命令集合
查看>>
box-sizing
查看>>
js 从数组中随机获取一个值
查看>>
css - 紧贴底部的页脚
查看>>
Html - 对话箭头
查看>>
学习笔记——责任链模式
查看>>
Ubuntu安装VMware Tools
查看>>
Codeforce914B (Conan and Agasa play a Card Game)
查看>>
手机前端开发调试利器 – vConsole
查看>>
【Unity】3.0 第3章 创建和导入3D模型
查看>>
MySQL案例08:MySQL Scheduler Events带来的风险
查看>>
Flexigrid使用说明
查看>>