导航:首页 > 文件类型 > linux文件备份命令

linux文件备份命令

发布时间:2023-02-24 09:29:43

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

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

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

# cd /tmp
# mkdir test
# cd test
# touch a.php b.js c.css 1.png
# ls
1.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怎么备份系统

首先切换到root用户下,执行sudo su
并执行cd / 切到跟路径下,再按下面执行操作
执行命令df -h
查看分区磁盘情况,一些没有作用的分区可以不用备份的。比如说mnt,一般都是挂载的光驱文件,还有media等。
使用命令 tar cvpzf backup.tgz --exclude=/data --exclude=/datafile /
还是要根据自己的实际情况来选择舍弃,先分析一下你的各分区大小,在看看备份的路径分区大小够不够。我这里是将不用的datafile和data分区舍弃了,备份的文件名backup.tgz存放路径是“/”路径(因为足够大,就索性全备了)
ps:“cvpfz”是tar的选项,意思是“创建档案文件”、“保持权限”(保留所有东西原来的权限)、“使用gzip来减小文件尺寸”。
执行命令后,linux就立即开始了备份作业,备份过程截图备份完成后有如下的一个警告提示,应该是不影响的。
我们来看看备份的最终成果吧,在“/”路径下执行命令:ls -l
可以看到备份的文件backup.tgz了
也可以用命令df -h看看/根目录分区的使用状态,比未备份前少了8%,约7G左右

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

1、bzip2 filename

//文件即会被压缩,并被保存为 filename.bz2。

2、gzip filename

//文件即会被压缩,并被保存为 filename.gz

3、tar 这个命令把大量的文件和目录打包成一个文件

-c 创建一个新归档

-f 当与-c 选项一起使用时,创建的tar 文件使用该选项指定的文件名;当与-x选项一起使用时,则解除该选项指定的归档

-t 显示包括在tar 文件中的文件列表

-v 显示文件的归档进度

-x 从归档中抽取文件

-z 使用gzip压缩tar 文件

-j 使用bzip2压缩tar 文件

(3)linux文件备份命令扩展阅读:

要创建一个使用tar和bzip2来归档压缩的文件,使用-j选项: tar -cjvf filename.tbz file

如果使用bunzip2 命令解压filename.tbz文件,则filename.tbz会被删除,以filename.tar代替。

要扩展并解除归档bzip.tar文件,输入命令: tar -xjvf filename.tbz

要创建一个用tar 和gzip归档并压缩的文件,使用-z选项: tar -czvf filename.tgz file

如果使用gunzip 命令解压filename.tgz文件,则filename.tgz会被删除,以filename.tar代替。

④ 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下备份一个目录下所有文件及目录,应该用什么命令

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

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

# cd /tmp
# mkdir test
# cd test
# touch a.php b.js c.css 1.png
# ls
1.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下备份文件

一、使用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.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 -i < back_tif.cpio
和tar命令一样,cpio命令恢复从目录保存的文件时,取决于是相对路经还是绝对路经。
cpio命令还有一个优点是可以直接将文件发送给外部源。
例如,下列命令恢复/root主目录中的文件,并把文件发送到SCSI磁带机:
# find /root | cpio -o -> /dev/st0
# cpio -i < /dev/st0

⑦ Linux mp命令

mp命令用于备份ext2或者ext3文件系统。可将目录或整个文件系统备份至指定的设备,或备份成一个大文件。
命令格式:mp [选项] [参数] 需要备份的文件

常用选项即参数:
-[0-9]:备份的层级
-f 设备名称:指定备份设备;
-u:备份完毕后,在/etc/mpdates中记录备份的文件系统、层级、日期与时间等

用法示例:
将/home目录所有内容备份到/tmp/homeback.bak文件中,备份层级为0并在/etc/mpdates中记录相关信息:
$ mp -0u -f /tmp/homeback.bak /home 将/home目录所有内容备份到/tmp/homeback.bak文件中,备份层级为1(只备份上次使用层次0备份后发生过改变的数据)并在/etc/mpdates中记录相关信息:
$ mp -1u -f /tmp/homeback.bak /home 通过mp命令的备份层级,可实现完整+增量备份、完整+差异备份,在配合crontab可以实现无人值守备份。

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

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

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

(8)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.Linux系统需要备份的数据

/root/目录:

/home/目录:

/var/spool/mail/目录:

/etc/目录:

其他目录:

数据备份的原则: 不要把鸡蛋放在同一个篮子里

2.安装服务的数据

apache需要备份的数据

配置文件

网页主目录

日志文件

mysql需要备份的数据

源码包安装的mysql:/usr/local/mysqld/data/

RPM包安装的mysql:/var/lib/mysql/

3.备份策略

完全备份: 完全备份就是指把所有需要备份的数据全部备份,当然完全备份可以备份整块硬盘,整个分区或某个具体的记录(需要更大的硬盘空间和时间)

增量备份: 第一天完全备份,第二天备份当天新增数据,第三天备份当天数据,即每次都是备份新增数据,每次备份后数据要进行压缩(需要较小的硬盘空间恢复麻烦)

差异备份: 第一天完全备份,第二天备份当天新增数据,第三天备份相比原始备份新增数据,即每次都是备份与原始数据相比的新增数据(比完全备份需要的空间小一点,比增量备份恢复容易一点)

1.mp命令

mp [选项] 备份之后的文件名 原文件或目录

选项

-level                    就是我们说的0-9十个备份级别

-f 文件名              指定备份之后的文件名

-u                          备份成功之后,把备份时间记录在/etc/mpdates文件

-v                          显示备份过程中更多的输出信息

-j                          调用bzib库压缩备份文件,其实就是把备份文件压缩为.bz2格式

-W                        显示允许被mp的分区的备份等级及备份时间

备份分区实例

mp -0uj -f /root/boot.bak.bz2 /boot/        备份命令,先执行一次完全备份,并压缩和更新备份时间

cat /etc/mpdates                查看备份时间文件

cp install.log /boot/                复制日志文件到boot分区

mp -luj -f /root/boot.bak1.bz2              增量备份/boot分区,并压缩

mp -W                  查询分区的备份时间及备份级别的

备份文件或目录实例

mp -0j /root/etc.mp.bz2 /etc/        完全备份/etc/目录,只能使用0级别进行完全备份,而不再支持增量备份

注意: mp只能针对分区做增量备份,对文件或目录不能进行增量备份

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.mp.bz2

restore -r -f etc.mp.bz2

还原etc.mp.bz2备份

⑩ 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文件备份命令相关的资料

热点内容
在桌面建造一个文件夹 浏览:683
java中文简繁体转换工具 浏览:157
c好看的登陆界面代码 浏览:622
系统自带信息非默认程序 浏览:668
网站有专利两个字被罚要多少钱 浏览:84
手机储存文件的路径 浏览:771
三作标需要什么文件格式 浏览:585
该应用与手机中的版本签名不一致 浏览:239
linux文件命名 浏览:480
win10如何开游戏模式 浏览:622
hacknet创建文件夹 浏览:730
什么语言做app 浏览:922
应用数据哪些可清理 浏览:976
数据区域下移一行该怎么办 浏览:679
华为账号用qq注册账号 浏览:327
台达plc编程完成怎么试运行 浏览:412
华为b137升级包下载 浏览:992
美团发布数据报告去哪里看 浏览:146
js的隐藏div显示 浏览:637
ps教程图片转换为粉笔字 浏览:816

友情链接