Linux系统往Window系统定时备份数据

Linux系统之间备份数据比较简单,你可以用resync和其他工具备份数据,但是小白我发觉LINUX往我Windows上面备份数据好像不行,所以就用了以下比较蠢的办法:

我用到的是Linux samba服务器和Crontab任务管理还有Window上面的任务计划管理,我的Linux版本是Centos 6.5虚拟机,然后windows版本是Win7

1首先是Linux上面的samba服务器,有些系统是已经自带了Samba服务端,但是小白的上面只有客户端,可以查看自己系统有没有安装Samba服务端:

rpm -qa | grep samba

Linux系统往Window系统定时备份数据

看到这个表示你的系统已经安装了服务端和客户端

如果没有安装,请你用yum -y install samba安装

2配置samba服务器

打开samba配置文件smb.conf

Linux系统往Window系统定时备份数据


由于我之前已经配置过,所以这里会有[share]这个模块名字,在这里我介绍一下不用密码的samba的共享模式,通过“?global”定位到全局模块:

Linux系统往Window系统定时备份数据

把security = user改为share ,把workgroup 的配置改为workgroup你的Window服务器的工作组名字,查看Windows工作组可以右键单击桌面的计算机,选择属性,如下图,我们可以看到工作组名字为WorkGroup

Linux系统往Window系统定时备份数据

接着我们回到Linux系统的smb.conf配置文件中,输入“?homes”定位到下面的homes模块,在下面新建一个自己的模块名字,我这里的名字是[share],这个是后面Window访问输入的名字,这里我要共享的目录是/usr/local/src,可读也可写,如下图:

Linux系统往Window系统定时备份数据Linux系统往Window系统定时备份数据

3samba配置完成,输入命令:wq!保存退出配置文件的编辑,启动smb服务

Linux系统往Window系统定时备份数据

将smb服务加入到开机启动中,这样我们下次关机再开机就可以使用啦。这里用到ntsysv,没有的话可以用命令

yum install -y ntsysv下载安装,前提是你的虚拟机能够联网,设置虚拟机上网可以在我的另外一篇博客看到,

http://blog.csdn.net/qq_26614295/article/details/74657655

输入命令ntsysv

Linux系统往Window系统定时备份数据Linux系统往Window系统定时备份数据

我们可以看到smb前面有个*号,这里有这个符号表明开机自动启动,如果没有,可以通过键盘上面的上下键移动到该选项,通过空格键去开启或者取消,最后按tab键移动到“确定”那里,按enter键确定保存

4关闭Linux和windows防火墙

因为Samba有可能会受防火墙的影响,所以这里关闭LInux的selinux防火墙和iptables,通过getenforce查看selinux状态

Linux系统往Window系统定时备份数据Linux系统往Window系统定时备份数据

我这里是disabled,因为我已经关闭了,如果是enforcing,那么要打开selinux的配置文件改,如下图

Linux系统往Window系统定时备份数据

将SELINUX改为disabled就可以了,注意selinux关闭要关机重启才有效

接着我们要关闭 iptables服务并且关闭开机自动启动,关闭是通过命令service iptables stop,关闭开机自动是通过上面第三部的ntsysv命令在iptables前面的*号取消掉。

最后当然是虚拟机关机,然后重启啦。

然后把Windows的防火墙关掉,这里就不说怎么关了,windows相信大家都很熟悉

5测试LINUX服务器能不能访问,我们现在windows的运行上面输入cmd,打开命令管理器

Linux系统往Window系统定时备份数据

ping 一下虚拟机的地址,我这里LInux虚拟机的地址是192.168.10.132

接着在运行那里输入\\192.168.10.132\share ,看能不能访问到刚才虚拟机的共享目录,share是刚才在smb.conf中配置的模块名字

Linux系统往Window系统定时备份数据
Linux系统往Window系统定时备份数据
Linux系统往Window系统定时备份数据

如果不能访问,要看windows和linux上面的防火墙有没有 关掉,特别是linux的selinux和iptables,然后再看看smb服务有没有开启,命令是service smb status,如果没有开启要安装上面步骤,重新开启并且添加到开机自动启动。

6Linux数据库mysql定时备份

用命令crontab -e进入,并且在里面输入下面命令,

00 10 * * * /usr/local/mysql/mysqldump -uroot -p'password' mysql</usr/local/src/backup.sql

保存后退出

用crontab -l命令查看自己设置的任务计划

按照第三步的方法用ntsysv将cron这个服务加入到开机启动中去。

上面命令意思是每天10点钟备份数据库mysql到backup.sql中,注意在crontab中的Mysqldump绝对路径,上面的/usr/local/mysql是mysql数据库安装目录,/usr/local/src是我用samba服务器共享给Windows的目录,模块名为share。


7windows上面定时备份Linux的文件以及数据

在windows上面新建备份文件夹,

Linux系统往Window系统定时备份数据

Linux系统往Window系统定时备份数据我这里是名字是LinuxBackup,在LinuxBackup下面新建了一个src文件夹

然后新建文本文档,输入如下命令

Linux系统往Window系统定时备份数据Linux系统往Window系统定时备份数据

意思是把虚拟机上面share模块下的所有文件夹包括文件复制到LinuxBackup\src文件夹下

最后将其改名为backup.bat


接着我们搜索“任务计划程序”,并且将其打开,然后就是创建任务,设置触发时间等参数,在操作的启动程序里面上传这个backup.bat脚本,大功告成!我们就可以每天等待这个时刻自动备份文件啦


至于怎么恢复,就是跟备份反过来,先从Windows拷贝数据到share模块的目录里面,如果是数据库,通过命令/usr/local/bin/mysql/mysql -uroot -p 'password'进入数据库,create命令先创建mysql数据库,use命令选择数据库,在通过source /usr/local/src/backup.sql命令把数据库恢复,这些都是基础啊,相信你们比我更熟悉!