文件管理 · 2023年8月23日

linux备份文件指令|linux下备份一个目录下所有文件及目录应该用什么命令

① linux备份与恢复

实体机无法做快照、如果出现系统异常或者数据损坏、后果严重 、要重做系统、还会造成数据拆卜丢失、所以我们可以使用备份和恢复技术。 Linux的备份和恢复很简单、有两种方式: 1、把需要的文件(或者分区)用TAR打包就行、下次需要恢复的时候、再解压开覆盖即可 2、使用mp和restore命令 如果linux上没有mp和restore指令、需要先安轮御敬装

基本介绍 mp支持分卷和增量备份 通过mp命令在配合crontab可以实现无人值守备份

基本介绍 restore命令用来恢复已备份的文件、腊慎可以从mp生成的备份文件中恢复原文件 基本语法

② linux下备份一个目录下所有文件及目录,应该用什么命令

这里教大家如何用find、xargs和tar命令完成上面的功能。

建立一个测试环境,新建几个文件

# cd /tmp# mkdir test# cd test# touch a.php b.js c.css 1.png# ls1.png a.php b.js c.css

接下来,通过find命令找出指定后缀的文件,为了支持多个后缀文件,find命令用到了正则匹配

# find . -type f -regex ".*.(php|js|css)"./b.js./a.php./c.css

-regex后面的参数看起来很复杂,其实很简单,我来做个解释,双引号就不需要解释了吧

.*.(php|js|css) 简化一下就是.*.(php|js|css),其实就是对.()|做了下转义而已,开头的.*匹配除换行符外的任意字符(这个懂正则表达式的应该都明白)

找出文件后,就是如何备份这些文件了,tar需要指定源文件,怎么获取find出来的这些文件,并传给tar呢,xargs的作用就来了。看到下面xargs输出的是什么了吧,这个正是tar需要的。

# find . -type f -regex ".*.(php|js|css)" | xargs./b.js ./a.php ./c.css# find . -type f -regex ".*.(php|js|css)" | xargs tar czvf test.tar.gz./b.js./a.php./c.css

下面看看文件是否备份成功了

# tar tzvf test.tar.gz -rw-r–r– root/root 0 2014-03-14 10:38 ./b.js-rw-r–r– root/root 0 2014-03-14 10:37 ./a.php-rw-r–r– root/root 0 2014-03-14 10:38 ./c.css

③ Linux下数据备份命令scp、rsync和后台运行

scp和rsync 均可实现文件的复制,但相比较,scp占用系统资源较小,rsync速度较快。当小文件众多时,rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用。可根据需要这俩选其一实现文件复制。

scp 是secure 的缩写,scp是Linux系统下基于ssh登录进行安全的远程文件拷贝命令。 可以实现本地文件复制到远程服务器,也可以将远程文件复制到本地。

rsync 是remote sync的缩写。使用rsync备份数据时,不会直接覆盖以前的数据(如果数据已经存在),而是先判断已存在的数据和新数据的差异(默认规则是文件大小或修改时间有差异),只有数据不相同时才会把不相同的部分覆盖。在仅作增量数据的时比scp灵活。

一般CentOS默认安装rsync,若使用 rsync -v 提示找不到命令,可使用 yum install -y rsync 安装。

单个冒号和双冒号的区别 :使用rsync在远程传输数据前,是需要进行登陆认证的,这个过程可使用ssh协议也可以使用rsync协议完成。单冒号(:)使用的是ssh协议;双冒号(::)使用的是rsync协议。

默认情况下,rsync只确保源文件的所有内容(明确排除的文件除外)都复制到目标目录。它不会使两个目录保持不同,并且不会删除文件。如果要使目标目录成为源目录的镜像副本,则使用–delete选项。可删除只存在目标目录,不存在于源目录的文件。

增量备份算是一个经常使用的场景了。两台服务器之间进行文件定期备份,无需所有文件都一遍,仅复制有变动的文件。

具体做法是,第一次同步是全量备份,所有文件在基准目录里面同步一份。以后每一次同步都是增量备份,只同步源目录与基准目录之间有变动的部分,将这部分保存在一个新的目标目录。这个新的目标目录之中,也是包含所有文件,但实际上,只有那些变动过的文件是存在于该目录,其他没有变动的文件都是指向基准目录文件的硬链接。

–link-dest 参数用来指定同步时的基准目录。

上面命令中, –link-dest 参数指定基准目录 /compare/path ,然后源目录 /source/path 跟基准目录进行比较,找出变动的文件,将它们拷贝到目标目录 /target/path 。那些没变动的文件则会生成硬链接。这个命令的第一次备份时是全量备份,后面就都是增量备份了。

一般服务器之间复制文件都比较大,为防止误操作,最好在后台运行。但因为需要和远程服务器之间的ssh通讯多是需要密码的,所以不能直接使用nohup 放置于后台。无论是scp还是rsync都可操作如下:

后台和前台任务的切换

scp不支持断点续传,挂起scp进程可能导致数据缺失。倾向于使用rsync。

如果有其他任务需要使用nohup后台运行,但执行时却忘记了使用nohup,也可参照此方法进行设置。

参考:1. Linux之scp命令及后台运行scp

④ Linux里面系统如何备份

对于备份和恢复来说,Linux提供了诸如tar、cpio、 mp等工具来实现。下面是一个简单的使用该工具进行数据备份的例子:tar czvf – /root/code > /tmp/code_bak.tgz (将/root/code目录下的所有程序文件打包备份到/tmp/code_bak.tgz)tar xzvf /tmp/code_bak.tgz /root/code (将备份的目录文件恢复到指定目录)

⑤ linux下备份一个目录下所有文件及目录,应该用什么命令

可以使用cp -rdir(目录)这个命令。cp是复制命令。-r 递归处理,指定目录下的文件和子目录一并处理。

通过shh连接上Linux主机,然后输入“cp -r www/root/”,回车即可备份root文件夹。

(5)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系统怎样备份与还原

1、在保存备份文件的目录xxx下建立一个文件backup.sh,其内容是:

tar-zcfbin.tar.gz/bin

tar-zcfboot.tar.gz/boot

tar-zcfdev.tar.gz/dev

tar-zcfetc.tar.gz/etc

tar-zcflib32.tar.gz/lib32

tar-zcflib64.tar.gz/lib64

tar-zcflib.tar.gz/lib

tar-zcfopt.tar.gz/opt

tar-zcfsbin.tar.gz/sbin

tar-zcfselinux.tar.gz/selinux

tar-zcfsrv.tar.gz/srv

tar-zcfvar.tar.gz/var

tar-zcfusr.tar.gz/usr

2、在需要备份的时候进入到保存备份内容的目录执行一次命令:shbackup.sh

3、在保存备份文件的目录xxx下建立一个叫restore.sh的文件,其内容如下:

tar-zxf/mnt/xxx/bin.tar.gz

tar-zxf/mnt/xxx/boot.tar.gz

tar-zxf/mnt/xxx/dev.tar.gz

tar-zxf/mnt/xxx/etc.tar.gz

tar-zxf/mnt/xxx/lib32.tar.gz

tar-zxf/mnt/xxx/lib64.tar.gz

tar-zxf/mnt/xxx/lib.tar.gz

tar-zxf/mnt/xxx/opt.tar.gz

tar-zxf/mnt/xxx/sbin.tar.gz

tar-zxf/mnt/xxx/selinux.tar.gz

tar-zxf/mnt/xxx/srv.tar.gz

tar-zxf/mnt/xxx/var.tar.gz

tar-zxf/mnt/xxx/usr.tar.gz

4、如果需要系统恢复,我就用光盘启动,mount原来的根目录为yyy,接着mount保存备份文件的目录为xxx,接着进入到/mnt/yyy,并在此下达命令:sh/mnt/xxx/restore.sh说明:

(1)、备份和恢复需要1个多小时,这个时间根据你电脑的CPU速度和硬盘转速会有所不同。

(2)、上面备份与恢复没有顾及/home目录和/root目录,因为我的系统主要是给学生做练习用的,那两个目录的内容没有意义。

在实际工作中,可能这两个目录才是最重要的,你可以模仿着别的目录添加到backup.sh和restore.sh文件中去,甚至别的目录都不备份(以便节约备份时间)就备份这两个目录。

⑦ 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 ( in/out) 命令可以建立存档,跟tar不同之处在于,能够处理标准的输入输出。顾名思义,就是复制,输入,输出的意思。如果要备份root的文件,使用下列命令:# find /root | cpio -o > /tmp/root_backup_1215.cpiocpio能够使用通配符将一组文件设置成标准输入。比如,下面见所有的.tif文件建立档案:# find *.tif | cpio -o > /tmp/back.cpio记住,find命令很灵活,下列命令把系统中所有的.tif文件进行归档:# find / -name '*.tif' | cpio -o > /tmp/back_tif.cpio同时,也很容易从cpio档案中恢复文件。下列命令恢复back_tif.cpio中的文件:# cpio -i < back_tif.cpio和tar命令一样,cpio命令恢复从目录保存的文件时,取决于是相对路经还是绝对路经。cpio命令还有一个优点是可以直接将文件发送给外部源。例如,下列命令恢复/root主目录中的文件,并把文件发送到SCSI磁带机:# find /root | cpio -o -> /dev/st0# cpio -i < /dev/st0