linux 系统如何备份,系统日志如何备份?

linux 系统如何备份,系统日志如何备份?,第1张

备份系统

我该如何备份我的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/sbin/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

30 4 * * * sh /root/logbak.sh

给你讲一下Linux下的

先创建个备份脚本的文件保存为backup.sh,然后让corn在指定时间运行就可以了

备份脚本内容:

cp -r 日志目录 要备份的目录

tar -zcvf bak$(date +%Y%m%d).tar.gz 要备份的目录 //将数据所在文件夹bak打包

呵呵,很简单,复制、打包就ok了

然后就是计划任务了

修改crontab内容

#crontab -e

* * * * * /脚本所在完整路径/backup.sh

如:22 11 1 * * /home/backup.sh 就是每月的1号11点22分执行home下的backup.sh脚本

前面五个字段分别表示分钟、小时、日、月、星期几(0-6)后面的为脚本所在目录

3,重新启动crond服务

#service crond restart

如果没有安装crond服务就先装上服务再说,用service crond status可以查看该服务状态

windows的也是差不多,也是复制打包的,然后就计划任务就ok了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7411304.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存