由于需要将Windows Server上的文件备份出来,考虑到用Windows自身文件共享方式不×××全,希望用命令行和scp方式将文件压缩并拷贝到CentOS上。做了两天实验,终于成功达到目的。总结一下,用了以下工具和方法:
1. 命令行压缩/解压缩:WinRAR中有rar.exe 和 unrar.exe命令行工具,将这两个exe文件拷贝到Windows server 上,相应改变PATH后,
a)c:\backup\rar a target.rar source.*: 实现压缩
b) c:\recovery\unrar e target.rar: 实现解压
2.绿色软件 PSCP实现跨平台文件传输:
a) 拷贝单个文件:pscp target.rar user@centos-servername:/home/user/backup
b)拷贝目录:pscp -r c:\backup user@servername:/home/user/backup
c)命令行中带入密码拷贝:pscp -l user -pw "xyzabc" target.rar centos-servername:/home/user/backup
d)公钥信任拷贝(无需密码):pscp -i private.ppk target.rar user@centos-servername:/home/user/backup
Notes: 公钥建立过程:
d1) 下载puttygent.exe到Windows Server并运行;
d2) Generate 公/私密钥对(public/private key pair), 将私钥保存到本机private-centos.ppk文件中
d3) 将公钥拷贝到CentOS 的/home/user/.ssh/authorized_keys文件中,注意:.ssh权限应为700, authorized_keys权限应为600,不然连接过程会提示”Server refused our key“错误。
d4) 运行:pscp -i private-centos.ppk target.rar user@centos-servername:/home/user/backup
d5)将上述命令放入到Windows Server定时任务中,就可以实现定时将Windows中的需要备份的文件拷贝到指定的Linux主机上了。
3. 如果将rar与pscp放在同一个脚本中,就可以实现Windows文件自动压缩并拷贝到Linux上了。
转载于:https://blog.51cto.com/hc0510/417064