本篇文章给大家谈谈linux服务器备份,以及如何在Linux服务器中备份对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

一、如何在Linux服务器中备份

linux系统下使用脚本定时备份数据库,代码如下:

#!/bin/bash

#Setting

#设置数据库名,数据库登录名,密码,备份路径,日志路径,数据文件位置,以及备份方式

#默认情况下备份方式是mysqldump,还可以是mysqldump,mysqldotcopy,如果注释掉第

#18行,则默认以tag的方式备份

#默认情况下,用root(空)登录mysql数据库,备份至/root/dbxxxxx.tgz

DBName=mysql

DBUser=root

DBPasswd=123456

BackupPath=/home///backup/mysql/mysqlbackup

LogFile=/home///backup/mysql/db.log

DBPath=/var/lib/mysql/

#BackupMethod=mysqldump

#BackupMethod=mysqlhotcopy

#BackupMethod=tar

#Setting End

NewFile="$BackupPath"db$(date+%y%m%d).tgz

DumpFile="$BackupPath"db$(date+%y%m%d)

OldFile="$BackupPath"db$(date+%y%m%d--date='5 days ago').tgz

echo"-------------------------------------------">>$LogFile

echo$(date+"%y-%m-%d%H:%M:%S")>>$LogFile

echo"--------------------------">>$LogFile

#Delete Old File

if [-f$OldFile ]

then

rm-f$OldFile>>$LogFile 2>&1

echo"[$OldFile]Delete Old File Suess!">>$LogFile

else

echo"[$OldFile]No Old Backup File!">>$LogFile

fi

if [-f$NewFile ]

then

echo"[$NewFile]The Backup File is exists,Can’t Backup!">>$LogFile

else

case$BackupMethod in

mysqldump*)

if [-z$DBPasswd ]

then

mysqldump-u$DBUser--opt$DBName>$DumpFile

else

mysqldump-u$DBUser-p$DBPasswd--opt$DBName>$DumpFile

fi

tar czvf$NewFile$DumpFile>>$LogFile 2>&1

echo"[$NewFile]Backup Suess!">>$LogFile

rm-rf$DumpFile

;;

mysqlhotcopy*)

rm-rf$DumpFile

mkdir$DumpFile

if [-z$DBPasswd ]

then

mysqlhotcopy-u$DBUser$DBName$DumpFile>>$LogFile 2>&1

else

mysqlhotcopy-u$DBUser-p$DBPasswd$DBName$DumpFile>>$LogFile 2>&1

fi

tar czvf$NewFile$DumpFile>>$LogFile 2>&1

echo"[$NewFile]Backup Suess!">>$LogFile

rm-rf$DumpFile

;;

*)

/etc/init.d/mysqld stop>/dev/null 2>&1

tar czvf$NewFile$DBPath>>$LogFile 2>&1

/etc/init.d/mysqld start>/dev/null 2>&1

echo"[$NewFile]Backup Suess!">>$LogFile

;;

esac

fi

echo"-------------------------------------------"

echo

#lftp-f lftp.sh如果有FTP可同时上传ftp中。

再利用crontab命令生成/var/spool/cron/root文件:

#crontab–e

//打开一个编辑窗口,第一行会有内容格式的提示,在此输入命令

//m h dom mon dow mand

//具体意义表示:分钟小时日期月份星期命令,在某月(mon)的某天(dom)或者星期几(dow)的几点(h,24小时制)几分(m)执行某个命令(mand)

//如: 10 02***/home/backup/autobackupmysql.sh(表示零晨二点十分执行备份脚本)

二、linux下远程备份好的方法(详细)

对系统管理员来说,平时的工作重心应该集中在维护系统正常运转,能够正常提供服务上,这里往往牵涉到一个数据备份的问题,在我所了解的情况中,有80%的系统管理员不是太关心自己服务器的安全*,但往往对备分镜像的技术相当感兴趣,但由于商业产品的软硬件价格都相当高昂,因此往往会选择开源软件。rsync就是这样的软件,它可以满足绝大多数要求不是特别高的备份需求。1.安装rsync包 [root@rhel403 old]# rpm-q rsync

rsync-2.6.3-1

2. rsync只使用一个配置文件就是/etc/rsyncd.conf [root@rhel403 old]# more/etc/rsyncd.conf

uid= nobody

gid= nobody

max connections= 200

timeout= 600

use chroot= no

read only= yes

pid file=/var/run/rsyncd.pid

host_allow=192.168.23.100//客户端的IP写在这里

#syslog facility= local7

#log file=/var/log/rsyncd.log#rsync config

#The'standard' things [rsync_gmmold]//定义同步的路径(客户端用这个关键字)

path=/gmm/old//需要同步的路径

ment= gmmold//这个暂不知道 3.启动服务#/usr/bin/rsync--daemon 4.加入开机启动 echo"/usr/bin/rsync--daemon">>/etc/rc.local 5.检查rsync时候启动# ps-ef| grep rsync 6.停止服务#kill `cat/var/run/rsyncd.pid`---------------------------------------------------------------------------以下是客户端的配置: 1.安装rsync包 [root@rhel403 old]# rpm-q rsync

rsync-2.6.3-1

2.与服务器端同步:#rsync-auqz 192.168.23.102::rsync_gmmold/tmp/old

三、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的压缩,因为压缩算法的原因,后一个压缩更强。

linux服务器备份 如何在Linux服务器中备份

同时,也很容易把已经打包压缩的文件进行恢复:

/*从备份文件中进行还原*/

# tar tkvzf root_backup_1215.tar.gz

二、使用cpio备份存档:

cpio(copy 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

由于Linux系统本身的优越*,系统的备份和还原还是比较容易的。主要表现在以下方面:

1.Linux系统所有的数据都以文件的形式存在,所以备份就是拷贝文件;硬盘分区也被当成文件,所以可以克隆硬盘数据。

2.Lnux系统自带很多实用工具,比如tar、dd、rsync等,备份还原系统不需要购买或第三方软件。

3.Lnux系统在运行时其硬盘上的文件可以被覆盖,所以还原系统的时候不需要另外的引导盘。(当然,系统完全挂掉到无法启动这种情况还是需要另外的引导盘的。)

备份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/

但是我最终选择的是rsync命令。rsync是一个非常优秀的文件同步工具,从它的名字可以看出,它支持远程同步。当然,在备份我的桌面系统时,只需要用到它的本地同步功能就行了。之所以选择rsync,是因为它具有如下优点:

在备份还原过程中,可以保存文件原有的时间、权限、软硬等信息;

首次备份时,需要复制所有文件,但是再次备份或还原系统时,只需要复制修改过的文件。

关于rsync的使用方法,其主要参考文档是man rsync,另外,rsync也可以作为守护进程运行用来建立文件备份服务器,可以参考文档man rsyncd.conf。

桌面系统备份实战

对于我的桌面系统,我选择的备份策略是使用rsync命令将硬盘上的所有文件(当然要排除/proc和/sys目录下的内容)复制到U盘上。首先使用df-lh命令查看一下我电脑的系统占多大空间,如下图:

从上图可以看出,根目录所在的分区占用了14G,而/boot目录所在的分区才占用100多M。其实Linux系统本来不用这么臃肿,只是因为我安装了太多的软件包,比如一整套的texlive啊什么的,才占用了这么多的空间。不过这都不是事儿,反正现在U盘也便宜,所以找个32G的USB 3.0的U盘来备份我这个系统,肯定是很轻松愉快的。

新U盘插到电脑上会被自动识别,使用不带参数的mount命令可以查看U盘的设备文件和挂载路径,使用fdisk命令了解U盘的大小和分区情况。如下图:

整个U盘分成一个区我没什么意见,不过我不喜欢它的vfat文件系统,万一碰到超过4G的巨型文件怎么办?so,先umount它,然后使用mkfs.ext3为它重新建立一个文件系统,如下图:

再把U盘mount起来,挂载的路径为/media/youxia/usb。如下图:

然后,可以开始备份了,我备份的命令是:

复制代码

代码如下:

sudo rsync-Pa//media/youxia/usb/backup_20141216--exclude=/media/*--exclude=/sys/*--exclude=/proc/*--exclude=/mnt/*--exclude=/tmp/*

如下图:

下图是备份完成后的效果,可以看到整个备份过程花了59分多钟,U盘被占用15G,如下图:

如果哪天系统再崩溃了的话,只需要使用sudo rsync-Pa/media/youxia/usb/backup_20141216/即可恢复系统。