备份操作是任何一台计算机系统中都必不可少的操作,因为它可以保证数据的安全。那么在Linux操作系统中,如何进行备份呢?下面这些方法可以帮助你备份Linux操作系统。
成都网站建设哪家好,找创新互联建站!专注于网页设计、网站建设公司、微信开发、微信小程序、集团成都定制网页设计等服务项目。核心团队均拥有互联网行业多年经验,服务众多知名企业客户;涵盖的客户类型包括:成都铜雕雕塑等众多领域,积累了大量丰富的经验,同时也获得了客户的一致称誉!
一、备份数据
备份数据是非常重要的。在备份之前,请确保所有的数据都已经保存了。在Ubuntu中,你可以使用rsync命令进行数据备份。
例如,我们要将”/home/user”下的所有数据复制到”/newhome/user”中,可以使用以下命令:
rsync -av /home/user /newhome/user
在这个命令中,“-a”是表示以archive模式备份,“-v”表示在备份时输出详细信息。
二、备份系统
除了备份数据之外,还需要备份整个Linux系统。从而保证系统出现问题时可以快速恢复。备份系统有许多方法,以下是其中两种:
1、使用dd命令备份
dd命令可以将整个磁盘拷贝到另一个磁盘中。你需要一个可以存放备份文件的位置,比如:/backup。你需要找到你要备份的目标磁盘分区的设备名,比如/dev/sda1。
sudo dd if=/dev/sda1 of=/backup/sda1.backup
在上面的命令中,“if”是表示输入设备,“of”是表示输出设备,也就是备份文件的位置。
2、使用tar命令备份
tar命令可以将整个文件系统打包成一个.tar文件。你需要一个可以存放备份文件的位置,比如:/backup。你需要找到你要备份的目标磁盘分区的挂载点,比如/。
sudo tar cvpzf /backup/backup_home.tar.gz –exclude=/backup /home
在上面的命令中,“-c”是表示创建归档文件,“-v”是表示在备份时输出详细信息,“-p”是表示保留文件的权限和所有权, “-z”是表示通过gzip压缩文件,“-f”是表示指定归档文件的名称。
三、定时备份
备份数据和系统可以手动进行,但是一些备份任务需要定期进行。例如,在Ubuntu中,日志文件的备份需要每天自动备份。为了实现定期备份,可以使用crontab工具。
你需要将你的备份命令写到一个脚本中,比如:/home/user/backup.sh。你需要创建一个crontab文件,用来指定你的备份任务。运行以下命令将备份命令写入crontab(编辑时,动作分别为:进入编辑模式,输入命令,按Esc退出编辑模式,输入:wq保存退出):
crontab -e
例如,在这个例子中,我们要每天的午夜12点自动备份/home/user目录到/newhome/user,可以在crontab文件中写下以下命令:
0 0 * * * rsync -av /home/user /newhome/user
在上面的命令中,“0 0 * * *”是表示在每天的午夜12点执行命令。
备份对于任何计算机系统来说都是非常重要的。在Linux操作系统中,备份数据和备份系统的方法是多种多样的。手动备份的方法需要手动执行,而定期备份能够在预定的时间自动执行。通过学习这些备份方法,你可以轻松地保护你的Linux操作系统的数据安全。
成都网站建设公司-创新互联为您提供网站建设、网站制作、网页设计及定制高端网站建设服务!
本文是在linux下,mysql 4.1.14版本下测试的,经过适当修改可能适合mysql 4.0,5.0及其其他版本.
本文适合于没有启动复制功能的mysql,如果启动了复制,可能不需要采取这种备份策略或者需要修改相关参数.
每个人的备份策略都可能不同,所以请根据实际情况修改,做到举一反三,不要照搬照抄,可能会造成不必要的损失.
希望你明白这个脚本要干什么工作!
脚本描述
每7天备份一次所有数据,每天备份binlog,也就是增量备份.
(如果数据少,每天备份一次完整数据即可,可能没必要做增量备份)
作者对shell脚本不太熟悉,所以很多地方写的很笨
开启 bin log
在mysql 4.1版本中,默认只有错误日志,没有其他日志.可以通过修改配置打开bin log.方法很多,其中一个是在/etc/my.cnf中的mysqld部分加入:
log-bin
这个日志的主要作用是增量备份或者复制(可能还有其他用途).
如果想增量备份,必须打开这个日志.
对于数据库操作频繁的mysql,这个日志会变得很大,而且可能会有多个.
在数据库中flush-logs,或者使用mysqladmin,mysqldump调用flush-logs后并且使用参数delete-master-logs,这些日志文件会消失,并产生新的日志文件(开始是空的).
所以如果从来不备份,开启日志可能没有必要.
完整备份的同时可以调用flush-logs,增量备份之前flush-logs,以便备份最新的数据.
完整备份脚本
如果数据库数据比较多,我们一般是几天或者一周备份一次数据,以免影响应用运行,如果数据量比较小,那么一天备份一次也无所谓了.
#!/bin/sh
# mysql data backup script
# by scud
#
#
# use mysqldump –help,get more detail.
#
BakDir=/backup/mysql
LogFile=/backup/mysql/mysqlbak.log
DATE=`date +%Y%m%d`
echo ” ” >> $LogFile
echo ” ” >> $LogFile
echo “-” >> $LogFile
echo $(date +”%y-%m-%d %H:%M:%S”) >> $LogFile
echo “” >> $LogFile
cd $BakDir
DumpFile=$DATE.sql
GZDumpFile=$DATE.sql.tgz
mysqldump –quick –all-databases –flush-logs
–delete-master-logs –lock-all-tables
> $DumpFile
echo “Dump Done” >> $LogFile
tar czvf $GZDumpFile $DumpFile >> $LogFile 2>&1
echo “Backup Success!” >> $LogFile
rm -f $DumpFile
#delete previous daily backup files:采用增量备份的文件,如果完整备份后,则删除增量备份的文件.
cd $BakDir/daily
rm -f *
cd $BakDir
echo “Backup Done!”
echo “please Check $BakDir Directory!”
echo “copy it to your local disk or ftp to somewhere !!!”
ls -al $BakDir
上面的脚本把mysql备份到本地的/backup/mysql目录,增量备份的文件放在/backup/mysql/daily目录下.
注意:上面的脚本并没有把备份后的文件传送到其他远程计算机,也没有删除几天前的备份文件:需要用户增加相关脚本,或者手动操作.
增量备份
增量备份的数据量比较小,但是要在完整备份的基础上操作,用户可以在时间和成本上权衡,选择最有利于自己的方式.
增量备份使用bin log,脚本如下:
#!/bin/sh
#
# mysql binlog backup script
#
/usr/bin/mysqladmin flush-logs
DATADIR=/var/lib/mysql
BAKDIR=/backup/mysql/daily
###如果你做了特殊设置,请修改此处或者修改应用此变量的行:缺省取机器名,mysql缺省也是取机器名
HOSTNAME=`uname -n`
cd $DATADIR
FILELIST=`cat $HOSTNAME-bin.index`
##计算行数,也就是文件数
COUNTER=0
for file in $FILELIST
do
COUNTER=`expr $COUNTER + 1 `
done
NextNum=0
for file in $FILELIST
do
base=`basename $file`
NextNum=`expr $NextNum + 1`
if
then
echo “skip lastest”
else
dest=$BAKDIR/$base
if(test -e $dest)
then
echo “skip exist $base”
else
echo “copying $base”
cp $base $BAKDIR
fi
fi
done
echo “backup mysql binlog ok”
增量备份脚本是备份前flush-logs,mysql会自动把内存中的日志放到文件里,然后生成一个新的日志文件,所以我们只需要备份前面的几个即可,也就是不备份最后一个.
因为从上次备份到本次备份也可能会有多个日志文件生成,所以要检测文件,如果已经备份过,就不用备份了.
注:同样,用户也需要自己远程传送,不过不需要删除了,完整备份后程序会自动生成.
访问设置
脚本写完了,为了能让脚本运行,还需要设置对应的用户名和密码,mysqladmin和mysqldump都是需要用户名和密码的,当然可以写在脚本中,但是修改起来不太方便,假设我们用系统的root用户来运行此脚本,那么我们需要在/root(也就是root用户的home目录)创建一个.my.cnf文件,内容如下
password =password
user= root
user=root
password=password
注:设置本文件只有root可读.(chmod 600 .my.cnf )
此文件说明程序使用mysql的root用户备份数据,密码是对应的设置.这样就不需要在脚本里写用户名和密码了.
自动运行
为了让备份程序自动运行,我们需要把它加入crontab.
有2种方法,一种是把脚本根据自己的选择放入到/etc/cron.daily,/etc/cron.weekly这么目录里.
一种是使用crontab -e放入到root用户的计划任务里,例如完整备份每周日凌晨3点运行,日常备份每周一-周六凌晨3点运行.
备份系统
我该如何备份我的Ubuntu系统呢?很简单,就像你备份或压缩其它东西一样,使用TAR。和Windows不同,Linux不会限制root访问任何东西,你可以把分区上的所有东西都扔到一个TAR文件里去!
首先成为root用户:
$ sudo su
然后进入
文件系统
的根目录(当然,如果你不想备份整个文件系统,你也可以进入你想要备份的目录,包括远程目录或者
移动硬盘
上的目录):
# cd /
下面是我用来备份系统的完整命令:
# tar cvpzf backup.tgz –exclude=/proc –exclude=/lost+found –exclude=/backup.tgz –exclude=/mnt –exclude=/sys /
让我们来简单看一下这个命令:
“tar”当然就是我们备份系统所使用的程序了。
“cvpfz”是tar的选项,意思是“创建档案文件”、“保持权限”(保留所有东西原来的权限)、“使用gzip来减小文件尺寸”。
“backup.gz”是我们将要得到的档案文件的文件名。
“/”是我们要备份的目录,在这里是整个文件系统。
在
档案文件名“backup.gz”和要备份的目录名“/”之间给出了备份时必须排除在外的目录。有些目录是无用的,例如“/proc”、“
/lost+found”、“/sys”。当然,“backup.gz”这个档案文件本身必须排除在外,否则你可能会得到一些超出常理的结果。如果不把“
/mnt”排除在外,那么挂载在“/mnt”上的其它分区也会被备份。另外需要确认一下“/media”上没有挂载任何东西(例如光盘、移动硬盘),如果
有挂载东西,必须把“/media”也排除在外。
有人可能会建议你把“/dev”目录排除在外,但是我认为这样做很不妥,具体原因这里就不讨论了。
执行备份命令之前请再确认一下你所键入的命令是不是你想要的。执行备份命令可能需要一段不短的时间。
备份完成后,在文件系统的根目录将生成一个名为“backup.tgz”的文件,它的尺寸有可能非常大。现在你可以把它烧录到DVD上或者放到你认为安全的地方去。
在备份命令结束时你可能会看到这样一个提示:’tar: Error exit delayed from previous errors’,多数情况下你可以忽略它。
你还可以用Bzip2来压缩文件,Bzip2比gzip的
压缩率
高,但是速度慢一些。如果压缩率对你来说很重要,那么你应该使用Bzip2,用“j”代替命令中的“z”,并且给档案文件一个正确的
扩展名
“bz2”。完整的命令如下:
# tar cvpjf backup.tar.bz2 –exclude=/proc –exclude=/lost+found –exclude=/backup.tar.bz2 –exclude=/mnt –exclude=/sys /
2、系统日志备份
只需要将日志文件移动到备份目录下
然后将日志压缩打包,并删除日志文件
最后重建日志文件
#!/bin/b
.sh
#
nginx_app=/usr/local/nginx/in/nginx
logs_dir=/usr/local/nginx/logs
bak_dir=/tmp/logbak/
date=`date +%Y%m%d`
#
#先将日志文件移动到备份目录
cd $logs_dir
echo “moving logs”
mv *.log $bak_dir
sleep 3
#
#重建log文件
echo “rebuild logs”
echo “$nginx_app -s reopen”
$nginx_app -s reopen
#
#打包log文件,并以日期命名
echo “tar log”
cd $bak_dir
tar czf $date.tgz *.log
#
#删除备份目录的临时文件
echo “rm logs”
rm -f *.log
echo “done”
然后添加个计划任务,比如每天凌晨4点半执行,脚本位置在/root/logbak.sh
crontab -e
* * * sh /root/logbak.sh
nest.com.cn/yjhy/ntyjhy.rar” target=”_blank”>
以上是下载地址。
一、软件的安装
双击下载回来的安装文件Setup.exe,稍等片刻,电脑就会自动重新启动,同时进入一键还原精灵的安装界面(如图1所示),点击安装按钮,就会弹出选择安装版本窗口,软件分为动态分区版与固定分区版两个版本,动态分区版可以当日后备份分区空间不足时自动增加空间,而固定分区版日后不能改变分区空间,所以在这里我们选择安装动态分区版,点击动态分区版按钮后电脑就会自动安装,一会儿弹出安装成功对话框。
二、软件的使用
电脑重新启动后,进入系统前屏幕顶部就会出现“***Pressto start recovery system***”的提示,这时按下F11键就可以使用“一键还原精灵”了(发如2所示),因是之一次使用,所以系统提示对C盘进行备份,这时按下F8 或是点击“备份系统”按钮,电脑就会自动启动Ghost8.0对C盘进行备份,这些操作都是全自动的,备份完成后,电脑自动重新启动。系统备份完成了,在电脑出现问题后,怎样还原呢?只要在开机时按下F11键,调出“一键还原精灵”主界面后,点击其上面的还原系统或是按F5,电脑就会再次自动启动 Ghost8.0对系统盘进行还原操作。是不是与品牌机的一键还原功能不差上下呀?
三、软件的设置
上面我们介绍使用“一键还原精灵”备份与还原系统,其实刻软件还有更强大的功能呢。在软件主界面上,点击“设置→高级设置”菜单,就可以打开高级设置窗口(如图3所示),在这里我们可以设置永久还原点,这样即使C盘被格式化,我们也可以轻松地还原系统了,同时还可以备份CMOS设置、屏幕设置及转到 DOS等操作。另外为了备份系统的安全性,软件具有用户权限设置功能,允许设置管理员密码与用户密码,这样多人操作电脑也能够保证系统的安全了。
如果你不想使用一键还原精灵了,还可以轻松卸载,点击高级设置窗口上的“卸载精灵”按钮,就可以完全删除一键还原精灵了,另外还可以通过双击安装文件,在安装界面上,点击“工具箱”按钮,在工具箱窗口中也可以轻松卸载“一键还原精灵”。
四、总结
通过以上介绍,可以看出一键还原精灵完全可以与品牌机的一键还原相媲美,同时软件是绿色免费软件,我们在免费使用的同时,软件不会在硬盘及注册表中留下任何垃圾。另外软件还有更多的实用功能等待大家自己去体验。
参考资料:
另外,站长团上有产品团购,便宜有保证
linux系统不存在注册表一说,所有的系统文件都是可以直接copy的
如果你要备份的话,把/分区的内容copy一份出来就可以了
系统日志的话,可以考虑tar一下,然后放到你想放的位置就可以了。
关于linux操作系统备份的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
创新互联(cdcxhl.com)提供稳定的云服务器,香港云服务器,BGP云服务器,双线云服务器,高防云服务器,成都云服务器,服务器托管。精选钜惠,欢迎咨询:028-86922220。
当前名称:如何对Linux操作系统进行备份?(linux操作系统备份)
URL标题:http://www.gawzjz.com/qtweb2/news0/9250.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联