linux中的备份命令 linux数据库备份命令

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、在保存备份文件的目录 xxx 下建立一个文件 backup.sh,其内容是:

tar -zcf bin.tar.gz /bin

tar -zcf boot.tar.gz /boot

tar -zcf dev.tar.gz /dev

tar -zcf etc.tar.gz /etc

tar -zcf lib32.tar.gz /lib32

tar -zcf lib64.tar.gz /lib64

tar -zcf lib.tar.gz /lib

tar -zcf opt.tar.gz /opt

tar -zcf sbin.tar.gz /sbin

tar -zcf selinux.tar.gz /selinux

tar -zcf srv.tar.gz /srv

tar -zcf var.tar.gz /var

tar -zcf usr.tar.gz /usr

2、在需要备份的时候进入到保存备份内容的目录执行一次命令: sh backup.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

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备份与恢复

实体机无法做快照、如果出现系统异常或者数据损坏、后果严重 、要重做系统、还会造成数据丢失、所以我们可以使用备份和恢复技术。

Linux的备份和恢复很简单、有两种方式:

1、把需要的文件(或者分区)用TAR打包就行、下次需要恢复的时候、再解压开覆盖即可

2、使用dump和restore命令

如果linux上没有dump和restore指令、需要先安装

基本介绍

dump支持分卷和增量备份

通过dump命令在配合crontab可以实现无人值守备份

基本介绍

restore命令用来恢复已备份的文件、可以从dump生成的备份文件中恢复原文件

基本语法

Linux dump命令

Linux dump命令用于备份文件系统。

dump为备份工具程序,可将目录或整个文件系统备份至指定的设备,或备份成一个大文件。

语法:

dump[-cnu][-0123456789][-b

区块大小][-B区块数目][-d密度][-f设备名称][-h层级][-s磁带长度][-T日期][目录或文件系统]或dump[-wW]

参数:

-0123456789 备份的层级

-b区块大小 指定区块的大小,单位为KB

-B区块数目 指定备份卷册的区块数目

-c 修改备份磁带预设的密度与容量

-d密度 设置磁带的密度,单位为BPI

-f设备名称 指定备份设备

-h层级 当备份层级等于或大于指定的层级时,将不备份用户标示为nodump的文件

-n 当备份工作需要管理员介入时,向所有operator群组中的使用者发出通知

-s磁带长度 备份磁带的长度,单位为英尺

-T日期 指定开始备份的时间与日期

-u 备份完毕后,在/etc/dumpdates中记录备份的文件系统,层级,日期与时间等

-w 与-W类似,但仅显示需要备份的文件

-W 显示需要备份的文件及其最后一次备份的层级,时间与日期。


当前题目:linux中的备份命令 linux数据库备份命令
文章来源:http://myzitong.com/article/dooojid.html