centos 文件自动备份,centos频繁自动重启

这篇文章给大家聊聊关于centos 文件自动备份,以及centos频繁自动重启对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

iso文件转系统盘

iso文件转系统盘()公司业务发展的需要,现需要将我们整个Linux系统整个项目环境打包成ISO镜像!

一台可以正常跑项目的服务器

一台新的空的服务器

一款神奇的开源免费故障恢复和备份工具—— Mondo Rescue

什么是 Mondo Rescue?(这段是网站搜索的)

Mondo Rescue(简称 Mondo):是一款开源免费的故障恢复和备份工具,可以说是 Linux操作系统下的 Ghost,你可以轻松地创建系统(Linux或 Windows)克隆或备份的 ISO镜像,可以将这些镜像存放在 CD、DVD、磁带、USB设备、硬盘和 NFS上。

万一数据丢失了,你将能够可以从备份介质还原系统所有数据或根据实际需求还原所有数据。除此之外,Mondo Rescue还可用来快速恢复或者重新部署工作镜像到其他系统中。

Mondo支持 LVM 1/2、RAID、ext 2/3/4、JFS、XFS、ReiserFS、VFAT等,并且可以轻松支持其他文件系统,支持软件 RAID和大多数硬件 RAID控制器,支持磁盘几何形状的调整,包括从非 RAID到 RAID的迁移。支持 BIOS和 UEFI引导模式。

Mondo在所有主要的 Linux发行版(Fedora、RHEL、OpenSUSE、SLES、Mageia、Debian、Ubuntu、Gentoo)上运行,可使用它来备份非 Linux分区,例如:NTFS。

接下来我们开始上车操作

安装mondorescue

1、下载安装包

你可以根据你的实际系统类型自行去官网下载,由于会有很多依赖关系,也可以通过 yum的形式安装。

通过这个 找到跟自己系统类型一致的下载

Linux系统版本

Mondo Rescue

命令1: wget

下载mondorescue.repo

进入/etc/yum.repos.d/

命令2:yum install-y mondo

yum安装过程中,可能会出现如下问题。

"warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID fd431d351: NOKEY

解决办法:

# cd/etc/pki/rpm-gpg/

# wget

# rpm--import/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

使用 CentOS时,会出现如下错误:

warning: rpmts_HdrFromFdno: Header V4 DSA/SHA1 Signature, key ID XXXXXX: NOKEY

解决方案加上参数--nogpgcheck

yum install-y mondo--nogpgcheck

安装完mondo开始制作镜像

以 root为身份用户,在终端下输入mondoarchive,即可进入图形操作界面。

备份到什么介质

选择Hard disk备份ISO镜像到硬盘

选择hard disk

备份位置选择

输入备份ISO镜像所在目录的完整路径名或默认。

备份位置

压缩类型选择

建议选择 gzip,压缩率大。

压缩选择

压缩率选择

压缩选项选择 Maximum(9)

压缩选项

选择每个镜像大小

输入你所想要的每个 ISO镜像的大小,并以MB(兆字节)为单位。

该数值应当小于等于 CD-R(W)(700)或 DVD(4480)的容量。这里默认即可。

镜像大小

制定镜像名称

制定 ISO镜像文件名,例如默认的 mondorescue,也可自定义或默认。

镜像名称

选择要备份的目录

输入你所要备份的文件目录,默认为根目录要备份全系统(默认即可)。

备份全系统

排除不需要备份的目录

排除不备份的文件系统并以|分隔。

一般来说有一些文件是不需要的,是可以排除掉的,而如果想要完整地备份你的操作系统,直接默认回车。

排除不需要的目录

选择临时目录路径

输入临时目录路径,选择默认路径即可。

选择临时目录路径

选择暂存目录路径

输入暂存目录路径,选择默认路径即可。

选择暂存目录路径

选择是否备份扩展的属性

选择备份扩展的属性,选择 yes。

选择是否备份扩展的属性

备份机器的内核

默认直接选择 OK回车即可。

备份机器的内核

验证备份文件

如要验证你的备份文件,在 Mondo创建备份文件之后,选择“Yes”即可。

验证备份文件

到这步骤之后软件会自动去备份(创建“/”文件系统目录、文件列表划分为集合、调用 MINDI、创建 boot+data磁盘、备份文件系统、备份大文件、运行 mkisofs、创建 ISO镜像文件、验证 ISO镜像的压缩包、验证 ISO镜像的大文件等)执行过程中无需人工交互操作。这个大概要15分钟

备份

最后,mondo archive已经结束了它的运行,归档完成,选择 OK回车键返回到shell提示符界面中。

镜像打包结束

这时我们回到/var/cache/mondo/目录下验证是否有一个 ISO镜像文件。

ISO镜像

到这步后,你就可以拷到U盘,制作成系统盘,或者你就可以将备份镜像刻录到 CD/DVD中了,便于以后恢复系统使用,可以用 Mondo生成的 ISO镜像引导操作系统,在引导提示符界面中选择“(手动输入)nuke”类型,恢复文件。

到新的机子上安装

ISO镜像制作成系统盘这边就跳过了,在安装的时候选择我们的ISO镜像即可进入到安装界面输入nuke

安装界面

自动安装

自动安装

整个流程大概5分钟即可完成,非常非常非常快

有问题欢迎评论留言点赞,必回。

电脑网

如何在Linux服务器中实现数据实时同步及备份

科技时代,任何行业都离不开数据的分析以及统筹,如果掌握了最关键的数据及技术,那成功就指日可待,所以数据对于一个企业来说,就是最无形的财富,而一个企业的数据基本都有服务器保存及管理着,如何保证数据安全,实现数据同步及备份?诚恺科技小编就同大家一起来看看在Linux服务器中利用rsync配合inotify实现数据实时同步及备份的方法。

rsync:可以镜像保存整个目录树和文件系统。可以很容易做到保持原来文件的权限、时间、软硬链接等等。第一次同步时 rsync会复制全部内容,但在下一次只传输修改过的文件。

方案:起初用rsync进行数据备份是利用计划任务,定时执行一下命令实现rsync的同步,但最近开发这边修改比较频繁,看来需要实时同步备份来完善备份机制!所以需要利用inotify触发器来改善!达到一旦指定的位置有了新的变动就将其同步!

环境:

CentOS 6.4 64位

rsync-3.0.9

inotify-tools-3.14

说明:

10.10.1.6(rsync+inotify)----------网站程序(/data0/htdocs/)

10.10.1.9(rsync)------------------网站程序备份(/data0/htdocs/)

目的:

实现10.10.1.6的/data0/htdocs/目录下发生任何变动都将实时同步到10.10.1.9的/data0/htdocs/上(另,这两台都跑有keepalived+nginx,来实现出现故障自动切换的容灾,详细配置会在后面补上)

一、web服务器10.10.1.6(rsync+inotify)

1、准备软件包

2、安装Rsync

1)、1234 tar-zxvf rsync-3.0.9.tar.gz

2)、cdrsync-3.0.9

3)、./configure--prefix=/usr/local/rsync

4)、make;makeinstall

建立密码认证文件

[root@ftp~]# echo"111111">/etc/rsyncd/rsyncd.secrets建立密码认证文件

*其中111111可以自己设置密码,rsyncd.secrets名字也可以自己设置;

权限:要将/etc/rsyncd/rsyncd.secrets设置为root拥有,且权限为600。

# chmod 600/etc/rsyncd/rsyncd.secrets

3、安装inotify

1)、1234 tar-zxvf inotify-tools-3.14.tar.gz

2)、cdinotify-tools-3.14

3)、./configure--prefix=/usr/local/inotify

4)、make;makeinstall

4、创建rsync复制脚本

此项功能主要是将ftp端的目录/data0/htdocs/里的内容,如果修改了(无论是添加、修改、删除文件)能够通过inotify监控到,并通过rsync实时的同步给10.10.1.9的/data0/htdocs里,下面是通过shell脚本实现的。

[root@web~]# vim/root/shell/rsync.sh

[root@web~]# chmod u+x/root/shell/rsync.sh

[root@web~]# setsid/root/shell/rsync.sh&

#后台运行脚本,关闭shell终端继续后台运行

rsync.sh脚本加入开机启动项

# echo"/root/shell/rsync.sh">>/etc/rc.local

防火墙开启rsync端口:873

添加:

iptables-A INPUT-m state--state NEW-m tcp-p tcp--dport 873-jACCEPT

重启:

#/etc/init.d/iptables restart

二、备份服务器10.10.1.9(rsync)

1、准备工作

创建备份目录:

# mkdir/data0/htdocs

2、安装rsync(备份主机只安装rsync)

1)、1234 tar-zxvf rsync-3.0.9.tar.gz

2)、cdrsync-3.0.9

3)、./configure--prefix=/usr/local/rsync

4)、make;makeinstall

3、建立用户与密码认证文件

[root@backup~]# echo"root:111111">/etc/ rsyncd/rsyncd.secrets

[root@backup~]# less/etc/rsyncd/rsyncd.secrets

root:111111

注意:

请记住,在10.10.1.6端建立的密码文件,只有密码,没有用户名;而在10.10.1.9里建立的密码文件,用户名与密码都有。

权限:要将/etc/rsyncd/rsyncd.secrets设置为root拥有,且权限为600。

#chmod 600/etc/rsyncd/rsyncd.secrets

4、建立rsync配置文件

[root@backup~]# vim/etc/rsyncd/rsyncd.conf

启动rsync服务

#/usr/local/rsync/bin/rsync--daemon--config=/etc/rsyncd.conf

# ps-ef|grep rsync

Rsync服务加入开机启动项

# echo"/usr/local/rsync/bin/rsync--daemon--config=/etc/rsyncd.conf">>/etc/rc.local

防火墙开启rsync端口:873

添加:

iptables-A INPUT-m state--state NEW-m tcp-p tcp--dport 873-jACCEPT

重启:

#/etc/init.d/iptables restart

完成,其实这个时候数据已经同步了!

测试一下:

由于/data0/htdocs/下涉及到一些公司信息,所以就以/data0/htdocs/tmp/为例

主机名可以区别是两台机器,里面的内容完全一直,连文件的属性都一样

再对里面修改一下试试,创建一个文件,然后删除user目录试试

Linux下设置每天自动备份数据库的方法

本文以Centos7.6系统与Oracle11g为例:

一.先找到数据库的环境变量

如果是在root账户下,须先登录到数据库所在账户

su oracle

cat~/.bash_profile

export PATH

export ORACLE_BASE=/home/nnc_db/app

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

export PATH=$PATH:$ORACLE_HOME/bin

export ORACLE_SID=orcl环境变量就已经找到了!

二.编辑备份的脚本文件

vi bak.sh

先把环境变量复制粘贴到bak.sh文件,

然后定义一个变量date(它的作用是为每天备份的文件命名便于识别),使用expdp命令导出数据库,代码如下:

date=$(date+%Y%m%d)

expdp数据库账号/数据库密码@数据库实例名 dumpfile=${date}_db_auto_backup.dmp schemas=数据库账号名 compression=all退出保存。

三.使用Linux的crontab命令设置定时任务

crontab-e

crontab-e的作用是使用文本编辑器设置定时任务(crontab具体用法在此不赘述);

输入后在文本编辑器输入

0 0***/home/nnc_db/bak.sh

以上代码意为每天的0点0分执行/home/nnc_db下的bak.sh文件,也就是第二步所创建的文件,需根据自身的备份时间以及文件目录调整;

然后重启crond服务即可

service crond restart

四.测试任务是否成功运行

根据我在网上收集的资料来看,有朋友说crontab-e设置成功后三分钟不会生效!也就是说假如你在上午10:00设置好任务,想要测试能否成功,把下次的定时任务设到10:02分,有可能会出现问题!但是这里我用

*****/home/nnc_db/bak.sh

设置为每一分钟运行一次,发现没有问题。

还有一个新手大坑就是你直接运行脚本文件会在命令行输出详细过程,而设置定时任务运行是没有反应的!所以想要看自己的脚本是否自动运行了需要到/var/spool/mail/下看日志文件,如图

总结

以上所述是小编给大家介绍的Linux下设置每天自动备份数据库的方法,大家如有疑问可以留言,或者联系站长。感谢亲们支持!!!

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

阅读剩余
THE END