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 不文件,只是生成链接文件。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系 836084111@qq.com 删除。