admin管理员组文章数量:1123042
Linux系统下的文件自动备份到Windows下
1 linux服务器上安装ftp服务端软件
#wget http://mirror.centos/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/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服务是禁止的,通过控制面板-->管理工具-->服务,找到该服务,启用就可以了。
版权声明:本文标题:Linux系统下的文件自动备份到Windows系统 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/biancheng/1726718849a1154147.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论