linux系统如何备份?

做法是:

linux文件备份(linux文件备份脚本)linux文件备份(linux文件备份脚本)


linux文件备份(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 in.tar.gz /in

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/in.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 NFS挂载,实现异地文件备份

最近做了一个文件的异地备份,采用网络挂载的方式,效果比之前用sync拷贝要方便的多。

也比之前简单的多,其实也就是几件事情。

首先是,需要备份的和备份的都装上nfs。

yuminstallnfs-utils

有的可能还需要单独安装一下rpcbind

那就

yuminstallrpcbind

接着在被挂载编写配置文件

vim /etc/exports

/root/work 192.168.0.3(rw,no_root_squash,no_all_squash,async)

/root/work 192.168.0.16(rw,no_root_squash,no_all_squash,async)

如像这样,授权了本地的/root/work目录可以被两个访问,权限是读写(rw)

这一部分就完成了。

接下来是需要备份的:

安装玩nfs以后,在/mnt目录下建一个目录(通常都是在这个目录下,别问为什么?问就是通用习惯。)

cd /mnt

mkdir backserver

这就完成了目录创建

接着也是最重要的一步

mount -t nfs 192.168.0.18:root/work/backup /mnt/backserver/

这条命令的意思是挂载192.168.0.18:root/work/backup目录到本机的/mnt/backserver/

-t是指定挂载类型,nfs,就是网络文件系统的简称。

这样之后,本机的/mnt/backserver/存的文件实际上是存在192.168.0.18:root/work/backup目录下的。

接下来就是一个见的文件拷贝命令。

rsync -z /usr/local/nginx /usr/local/tomcat /mnt/backserver/09back

就把文件备份到192.168.0.18:root/work/backup目录下了。

实现自动备份就更简单了,直接把刚才的命令写入shell脚本

保存为backup.sh

然后加入系统定时

crontab -e

30 3 sh /root/work/work/backup.sh

意思是每天三点执行一次脚本,就完成了自动异地备份。

整个过程还是很简答的,其中涉及一个cs的模式。

需要知道:

1,是客户端挂载到服务端。

2,服务端需要授予客户端访问权限。

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系统备份,哪些目录是需要备份?哪些是不必要的?

需要备份的目录:

/bin /boot /etc /opt /usr /home /root /in /lib

以下目录有的话,也要备份:

/lib32

这些目录:

/sys /lost+found /dev /media /mnt /proc /var

可以不备份,但在恢复时必须手工建立这些文件夹;

如果有 /lib64 ,应该是链接,也要在恢复后,启动系统前建立;

可能还有其它的一些文件,如,ubuntu下有 /initrd.img , vmlinuz,

这不是必须的,但与配置有关;

一些系统有selinux文件夹,如果不是空的,也要备份;

还有,一些服务可能会在 / 目录建立一些文件夹,也必须备份;

linux文件备份(linux文件备份脚本)


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系统的策略有很多,比如使用dd命令直接克隆硬盘分区:

sudo

dd

if=/dev/sda1

of=/dev/sdb1

或者,使用tar将硬盘上的文件打包:

cd

/

sudo

tar

cvpzf

backup.tgz

--exclude=/proc

--exclude=/mnt

--exclude=/sys

--exclude=/backup.tgz

/

还原系统的命令是:

sudo

dd

if=/dev/sdb1

of=/dev/sda1

tar

xvpfz

backup.tgz

-C

/

Linux如何备份文件夹?常用命令有哪些?

linux备份文件夹的命令是什么?在Linux作系统中,可用于备份文件夹的命令有两个:cp命令、dump命令,本文为大家详细介绍一下这两个命令,希望能够给你们带来帮助。

1、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 显示需要备份的文件及其一次备份的层级,时间与日期。

2、cp命令

Linux cp命令主要用于文件或目录。

语法:

①cp [options] source dest

②cp [options] source... directory

参数:

-a 此选项通常在目录时使用,它保留链接、文件属性,并目录下的所有内容,其作用等于dpR参数组合

-d 时保留链接,这里所说的链接相当于Windows系统中的快捷方式

-f 覆盖已经存在的目标文件而不给出提示

-i 与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答y时目标文件将被覆盖

-p 除文件的内容外,还把修改时间和访问权限也到新文件中

-r 若给出的源文件是一个目录文件,此时将该目录下所有的子目录和文件

-l 不文件,只是生成链接文件。