linux文件夹备份命令 linux 文件备份

Linux下数据备份命令scp、rsync和后台运行 scp和rsync 均可实现文件的复制,但相比较,scp占用系统资源较小,rsync速度较快 。当小文件众多时,rsync会导致硬盘I/O非常高 , 而scp基本不影响系统正常使用 。可根据需要这俩选其一实现文件复制 。
scp 是secure copy的缩写,scp是Linux系统下基于ssh登录进行安全的远程文件拷贝命令 。
可以实现本地文件复制到远程服务器,也可以将远程文件复制到本地 。
rsync 是remote sync的缩写 。使用rsync备份数据时,不会直接覆盖以前的数据(如果数据已经存在) , 而是先判断已存在的数据和新数据的差异(默认规则是文件大小或修改时间有差异),只有数据不相同时才会把不相同的部分覆盖 。在仅作增量数据的copy时比scp灵活 。
一般CentOS默认安装rsync,若使用rsync -v 提示找不到命令,可使用 yum install -y rsync 安装 。
单个冒号和双冒号的区别 :使用rsync在远程传输数据前,是需要进行登陆认证的,这个过程可使用ssh协议也可以使用rsync协议完成 。单冒号(:)使用的是ssh协议;双冒号(::)使用的是rsync协议 。
默认情况下 , rsync只确保源文件的所有内容(明确排除的文件除外)都复制到目标目录 。它不会使两个目录保持不同,并且不会删除文件 。如果要使目标目录成为源目录的镜像副本,则使用--delete选项 。可删除只存在目标目录 , 不存在于源目录的文件 。
增量备份算是一个经常使用的场景了 。两台服务器之间进行文件定期备份,无需所有文件都copy一遍 , 仅复制有变动的文件 。
具体做法是,第一次同步是全量备份,所有文件在基准目录里面同步一份 。以后每一次同步都是增量备份 , 只同步源目录与基准目录之间有变动的部分,将这部分保存在一个新的目标目录 。这个新的目标目录之中,也是包含所有文件,但实际上,只有那些变动过的文件是存在于该目录,其他没有变动的文件都是指向基准目录文件的硬链接 。
--link-dest 参数用来指定同步时的基准目录 。
上面命令中,--link-dest 参数指定基准目录 /compare/path,然后源目录 /source/path 跟基准目录进行比较 , 找出变动的文件,将它们拷贝到目标目录 /target/path。那些没变动的文件则会生成硬链接 。这个命令的第一次备份时是全量备份,后面就都是增量备份了 。
一般服务器之间复制文件都比较大,为防止误操作,最好在后台运行 。但因为需要和远程服务器之间的ssh通讯多是需要密码的,所以不能直接使用nohup 放置于后台 。无论是scp还是rsync都可操作如下:
后台和前台任务的切换
scp不支持断点续传 , 挂起scp进程可能导致数据缺失 。倾向于使用rsync 。
如果有其他任务需要使用nohup后台运行,但执行时却忘记了使用nohup,也可参照此方法进行设置 。
参考:1.Linux之scp命令及后台运行scp
linux下备份一个目录下所有文件及目录,应该用什么命令?应该用cp
-rf
源目录
备份目录
cp是复制命令
-r
递归处理,指定目录下的文件和子目录一并处理
【linux文件夹备份命令 linux 文件备份】-f
强行复制,无论目标是否存在
知道指定后缀名的文件总个数命令:
find
.
-name
*.cpp
|
wc
-l
知道一个目录下代码总行数以及单个文件行数:
find
.
-name
*.h
|
xargs
wc
-l
linux统计文件夹中文件数目 。
第一种方法:
ls
-l|grep
“^-”|wc
-l
ls
-l
长列表输出该目录下文件信息(注意这里的文件,不同于一般的文件,可能是目录、链接、设备文件等) 。如果ls
-lR|grep
“^-”|wc-l则可以连子目录下的文件一起统计 。
grep
^-
这里将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是
^d
wc
-l
统计输出信息的行数 , 因为已经过滤得只剩一般文件了 , 所以统计结果就是一般文件信息的行数 , 又由于一行信息对应一个文件 , 所以也就是文件的个数 。
第二种方法:
find
./
-type
f|wc
-l
由于默认find会去子目录查找,如果只想查找当前目录的文件用
需要说明的是第二种方法会比第一种方法快很多 , 尤其是也统计子目录时 。
扩展资料
linux
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统 。它能运行主要的UNIX工具软件、应用程序和网络协议 。它支持32位和64位硬件 。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统 。
Linux操作系统诞生于1991
年10
月5
日(这是第一次正式向外公布时间) 。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核 。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机 。
严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统 。
参考资料来源:百度百科:linux
linux下备份文件一、使用tar命令进行备份:
tar命令本来的作用是能够把很多文件放到一个小文件中进行归档,但是同时又能够对文件进行压缩 。所以,一般情况下都采用tar进行文件整理和压缩 。
/* 把/root整个目录进行压缩备份 */
# tar cvzf /tmp/root_backup_1215.tar.gz /root
那么就能够把 /tmp/root_backup_1215.tar.gz进行存储,比如保存到磁带机上等 。
说明: 压缩的tar档案通常的扩展名是 tar.gz、tgz、或者tar.bz2 。前两个扩展名一般是使用gzip命令进行压缩的tar档案 , 后一个扩展名是
基于bzip2的压缩 , 因为压缩算法的原因,后一个压缩更强 。
同时,也很容易把已经打包压缩的文件进行恢复:
/* 从备份文件中进行还原 */
# tar tkvzf root_backup_1215.tar.gz
二、使用cpio备份存档:
cpio (copy in/out) 命令可以建立存档,跟tar不同之处在于,能够处理标准的输入输出 。顾名思义,就是复制,输入,输出的意思 。
如果要备份root的文件,使用下列命令:
# find /root | cpio -o/tmp/root_backup_1215.cpio
cpio能够使用通配符将一组文件设置成标准输入 。比如,下面见所有的.tif文件建立档案:
# find *.tif | cpio -o/tmp/back.cpio
记住,find命令很灵活,下列命令把系统中所有的.tif文件进行归档:
# find / -name '*.tif' | cpio -o/tmp/back_tif.cpio
同时,也很容易从cpio档案中恢复文件 。下列命令恢复back_tif.cpio中的文件:
# cpio -iback_tif.cpio
和tar命令一样,cpio命令恢复从目录保存的文件时,取决于是相对路经还是绝对路经 。
cpio命令还有一个优点是可以直接将文件发送给外部源 。
例如 , 下列命令恢复/root主目录中的文件,并把文件发送到SCSI磁带机:
# find /root | cpio -o - /dev/st0
# cpio -i/dev/st0
(十六)Linux文件备份1.Linux系统需要备份的数据
/root/目录:
/home/目录:
/var/spool/mail/目录:
/etc/目录:
其他目录:
数据备份的原则:不要把鸡蛋放在同一个篮子里
2.安装服务的数据
apache需要备份的数据
配置文件
网页主目录
日志文件
mysql需要备份的数据
源码包安装的mysql:/usr/local/mysqld/data/
RPM包安装的mysql:/var/lib/mysql/
3.备份策略
完全备份:完全备份就是指把所有需要备份的数据全部备份 , 当然完全备份可以备份整块硬盘,整个分区或某个具体的记录(需要更大的硬盘空间和时间)
增量备份:第一天完全备份,第二天备份当天新增数据 , 第三天备份当天数据,即每次都是备份新增数据,每次备份后数据要进行压缩(需要较小的硬盘空间恢复麻烦)
差异备份:第一天完全备份 , 第二天备份当天新增数据,第三天备份相比原始备份新增数据,即每次都是备份与原始数据相比的新增数据(比完全备份需要的空间小一点,比增量备份恢复容易一点)
1.dump命令
dump [选项] 备份之后的文件名 原文件或目录
选项
-level就是我们说的0-9十个备份级别
-f 文件名指定备份之后的文件名
-u备份成功之后,把备份时间记录在/etc/dumpdates文件
-v显示备份过程中更多的输出信息
-j调用bzib库压缩备份文件,其实就是把备份文件压缩为.bz2格式
-W显示允许被dump的分区的备份等级及备份时间
备份分区实例
dump -0uj -f /root/boot.bak.bz2 /boot/备份命令,先执行一次完全备份,并压缩和更新备份时间
cat /etc/dumpdates查看备份时间文件
cp install.log /boot/复制日志文件到boot分区
dump -luj -f /root/boot.bak1.bz2增量备份/boot分区,并压缩
dump -W查询分区的备份时间及备份级别的
备份文件或目录实例
dump -0j /root/etc.dump.bz2 /etc/完全备份/etc/目录,只能使用0级别进行完全备份,而不再支持增量备份
注意:dump只能针对分区做增量备份,对文件或目录不能进行增量备份
2.restore命令
restore [模式选项] [选项]
模式选项:restore命令常用的模式有一下四种,这四个模式不能混用
-C比较备份数据和实际数据的变化
-i进入交互模式 , 手工选择需要恢复的文件
-t查看模式,用于查看备份文件中拥有哪些数据
-r还原模式 , 用于数据还原
选项
-f指定备份文件的文件名
比较备份数据和实际数据的变化
mv /boot/vmlinuz-2.3.32--279.el6.i686 /boot/vmlinuz-2.6.32-279.el6.i686.bak
把boot目录中内核镜像文件改个名字
restore -C -f /root/boot.bak.bz2
restore发现内核镜像文件丢失
查看模式
restore -t -f boot.bak.bz2
还原模式
还原boot.bak.bz2分区备份
mkdir boot.test
cd boot.test/
先还原完全备份的数据
restore -r -f /root/boot.bak.bz2
再恢复增量备份的数据
restore -r -f /root/boot.bak1.bz2
还原/etc/目录的备份etc.dump.bz2
restore -r -f etc.dump.bz2
还原etc.dump.bz2备份
linux文件夹备份命令的介绍就聊到这里吧 , 感谢你花时间阅读本站内容 , 更多关于linux 文件备份、linux文件夹备份命令的信息别忘了在本站进行查找喔 。

    推荐阅读