Linux系统下的文件自动备份到Windows系统

Linux系统下的文件自动备份到Windows下

1 linux服务器上安装ftp服务端软件

#wget http://mirror.centos.org/centos-6/6.3/os/x86_64/Packages/vsftpd-2.2.2-11.el6.x86_64.rpm

#rpm -ivh vsftpd-2.2.2-11.el6.x86_64.rpm

#yum install vsftpd -y

2 修改/etc/vsftpd/vsftpd.conf

这里主要设置拒绝匿名登录和锁定用户到自家目录

1.#拒绝匿名登录  

anonymous_enable=NO  

2.#锁定用户到自家目录  

chroot_local_user=YES  

ps:更多ftp设置参考http://zserver.blog.51cto.com/370152/157203/  

3 重启ftp服务

service vsftpd restart

4 设置iptables

这里ftp采用的是Port模式,只需要打开监听端口21和数据端口20

  

编辑/etc/sysconfig/iptables,添加如下规则  

-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT  

-A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT  

5 重启刷新防火墙规则

#service iptables restart

 

6 linux系统为ftp添加一个用户

并将用户家目录设置为ftp默认目录 通过-d参数设置,最后设置密码。

#useradd  ftpuser -d /var/ftp/pub -s /sbin/nologin  

#passwd ftppwd  

黄色自行设置ftp默认目录,ftp用户、ftp密码


 到这一步,linux段的ftp服务就算安装完成了。

问题1:

 [root@redmine data_backup]#useradd  ftpredmine -d /var/ftp/pub -s/sbin/nologin

useradd:警告:此主目录已经存在。

不从 skel 目录里向其中复制任何文件

不用管,继续创建密码即可

 

问题2:

ftp报错 550 Failed to open file 

方法一

#setsebool -P ftpd_disable_trans 1

#service  vsftpd   restart

方法二:修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:

## Allow root to run any commands anywhere
root    ALL=(ALL)     ALL
tommy   ALL=(ALL)     ALL

修改完毕,现在可以用tommy帐号登录,然后用命令 sudo – ,即可获得root权限进行操作。

方法三:修改 /etc/passwd 文件,找到如下行,把用户ID修改为 0 ,如下所示:
tommy:x:0:33:tommy:/data/webroot:/bin/bash

 

接下来就是要在windows端获取数据

 

7 编写批处理文件wget.bat

通过ftp获取数据,并删除7天前的备份文件

Bat代码: 

Z:                                    --切换到Z目录

cdZ:\redminedata                     --进入到Z:\redminedata目录

(echo open172.16.1.246               --linux系统的IP地址

echo ftpredmine                       --ftp用户名

echo redmine                          --ftp用户密码

echo prompt                           --交互模式关

echo binary                           --转换为binary方式传输

echo getdata.tar.gz redmine%date:~,4%%date:~5,2%%date:~8,2%.tar.gz

--获取linux系统ftp目录下的data.tar.gz,并存放在Z:\redminedata下命名为redmine20151015.tar.gz,日期为windows下当前日期

echo bye) >ftp_getData.src

--将()中信息存在ftp_getData.src文件中

ftp-s:ftp_getData.src

--执行ftp_getData.src文件中ftp命令

echo%date%redmine数据及附件备份成功!时间:%time%>> ftp.log

--将备份成功信息存储在ftp.log

forfiles /p"Z:\redminedata"  /m *.tar.gz/d -7 /c "cmd /c del @path"

--删除Z:\redminedata目录下,后缀名称为.tar.gz,日期为前7天的文件

ps:有的xp系统中最初可能没有forfiles这个命令,通过网上下载后放在C:\WINDOWS\system32里面  

8 将wget.bat批处理命令加入到windows计划任务

Dos代码

1.  运行,cmd,打开dos窗口  

2.  net stop schedule  

3.  net start schedule  

4.  at 03:00 /every:Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday Z:\redminedata\wget.bat  

5.  at 命令查看计划任务列表  

6.  ps:有的windows系统task scheduler服务是禁止的,通过控制面板-->管理工具-->服务,找到该服务,启用就可以了。  


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值