Linux远程备份—ftp方式、NFS方式
问题:现在项目中每天都有从其它各个系统发过来的数据文件(存放在/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下vsftp服务器—上传、下载
关于Linux下NFS服务器安装可以参考:Fedora 17安装NFS
Linux远程备份—ftp方式、NFS方式的更多相关文章
- Linux文件共享服务 FTP,NFS 和 Samba
Linux 系统中,存储设主要有下面几种: DAS DAS 指 Direct Attached Storage,即直连附加存储,这种设备直接连接到计算机主板总线上,计算机将其识别为一个块设备,例如常见 ...
- Linux笔记③(ftp、nfs、ssh服务器搭建)
1.ftp服务器搭建(利用vsftpd这个工具) 作用:文件的上传和下载 服务器端: 修改配置文件,配置文件目录:/etc/vsftpd.conf ,修改里面的允许匿名访问.指定匿名访问目录等操作,根 ...
- Linux 远程和本地的一些解决方式
有的小伙伴想Linux 远程登录 两台机器同一时候root登录.事实上能够同一时候多个用户的. Linux是多用户的多任务系统,能够同一时候多个用户登录到系统,也能够一个用户通过不同终端登录到一个系 ...
- Linux操作系统备份之三:通过二进制拷贝(dd)方式实现Linux操作系统数据的备份
前面有两篇文章,<Linux操作系统备份之一:使用LVM快照实现Linux操作系统数据的在线备份>和<Linux操作系统备份之二:通过tar拷贝分区实现Linux操作数据的在线备份& ...
- CentOS Linux自动备份MySQL数据库到远程FTP服务器并删除指定日期前的备份Shell脚本
说明: 我这里要把MySQL数据库存放目录/var/lib/mysql下面的pw85数据库备份到/home/mysql_data里面,并且保存为mysqldata_bak_2011_11_03.tar ...
- 向linux服务器上传下载文件方式收集
向linux服务器上传下载文件方式收集 1. scp [优点]简单方便,安全可靠:支持限速参数[缺点]不支持排除目录[用法] scp就是secure copy,是用来进行远程文件拷贝的.数据传输使用 ...
- mini2440 uboot使用nfs方式引导内核,文件系统
mini2440 uboot使用nfs方式引导内核,文件系统 成于坚持,败于止步 看了一段时间的u-boot了,到今天才真正完全实现u-boot引导内核和文件系统,顺利开机,在此记录完整过程 1.首先 ...
- 【RMAN】Oracle中如何备份控制文件?备份控制文件的方式有哪几种?
真题1. 如何备份控制文件?备份控制文件的方式有哪几种? 答案:备份控制文件的方式有多种. ① 备份控制文件可以在线进行: SQL> ALTER DATABASE BACKUP CONTROLF ...
- mysql备份的4种方式
mysql备份的4种方式 转载自:https://www.cnblogs.com/SQL888/p/5751631.html 总结: 备份方法 备份速度 恢复速度 便捷性 功能 一般用于 cp 快 快 ...
随机推荐
- Redis--分布式锁
在高并发的使用场景下,如何让redis里的数据尽量保持一致,可以采用分布式锁.以分布式锁的方式来保证对临界资源的互斥读写. redis使用缓存作为分布式锁,性能非常强劲,在一些不错的硬件上,redis ...
- IOS图片的两种处理:加阴影和变灰色
#import <QuartzCore/QuartzCore.h> //图片阴影 UIImageView *img; [[img layer] setShadowOffset:CGSize ...
- CSS3秘笈第三版涵盖HTML5学习笔记1~5章
第一部分----CSS基础知识 第1章,CSS需要的HTML HTML越简单,对搜索引擎越友好 div是块级元素,span是行内元素 <section>标签包含一组相关的内容,就像一本书中 ...
- SQL Server内存数据写入磁盘方法比较
众所周知,SQLServer增删改数据最先都是在内存中进行的,这可以大大加快数据操作的速度: 当内存中的数据被修改了,而磁盘中的数据还没有被修改时,就产生了所谓的“脏页”,SQLServer是如何同步 ...
- SQL Server查看表信息
1. sp_spaceused 计算数据和索引使用的磁盘空间量以及当前数据库中的表所使用的磁盘空间量.如果没有给定 objname,sp_spaceused 则报告整个当前数据库所使用的空间. 语法 ...
- Windows命令实现Sleep
等待一分钟:ping 192.0.2.2 -n 1 -w 60000 > nul 等待一秒钟:ping 192.0.2.2 -n 1 > nul (ping一次需要一秒钟) -w 6000 ...
- <转载>批处理之FOR语句祥解
批处理之FOR语句祥解 FOR这条命令基本上都被用来处理文本,但还有其他一些好用的功能! 看看他的基本格式(这里我引用的是批处理中的格式,直接在命令行只需要一个%号) FOR 参数 %%变量名 IN ...
- Cocos2d-x内置粒子系统
从类图中我们可以看到,Cocos2d-x中有内置的11粒子,这些粒子的属性都是预先定义好的,我们也可以在程序代码中单独修改某些属性,我们在上一节的实例中都已经实现了这些属性的设置. 内置粒子系统 内置 ...
- Swift内存管理-示例讲解
具体而言,Swift中的ARC内存管理是对引用类型的管理,即对类所创建的对象采用ARC管理.而对于值类型,如整型.浮点型.布尔型.字符串.元组.集合.枚举和结构体等,是由处理器自动管理的,程序员不需要 ...
- 【转载】干货来袭!Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载七)LAMP集成安装
学Linux做程序开发也好,做系统管理也好,做网络管理员也好,做系统运维也好,不会LAMP和LNMP,那就等于连皮毛都不会!本篇是文字版的LAMP集成安装,下次连载我们要介绍LNMP的文字版安装.有喜 ...