[英]Automatically copying files from a Linux machine to a Windows machine
我需要每天自动将文件从linux机器复制到Windows机器。
我正在寻找像scp,rsync,sftp这样简单安全的东西。 不幸的是,我不知道如何在Windows机器上设置它。
有谁知道如何做到这一点?
您可以尝试使用smbfs将Windows驱动器作为挂载点安装在Linux计算机上; 然后,您就可以使用普通的Linux脚本和复制工具(如cron和scp / rsync)进行复制。
你可以在cygwin中找到windows的rsync,你可以在windows框上设置一个rsync服务器,然后在linux机器上运行一个cron作业,将所有文件运行到windows机器上。 我们曾经这样做,它运作良好。
“我无法在Windows机器上进行设置。” Windows是客户端还是服务器? 亏本意味着什么,特别是? 你不能做什么?
“linux机器到windows”可以通过两种方式完成。
Linux是客户端。 Windows运行FTP或SCP或SSH服务器。 Linux有一个客户端并将文件推送到Windows。 查看FileZilla免费的Windows FTP服务器。 此外,Windows通常有一个关闭的FTP服务。 打开它。
Windows是客户端。 Windows定期从Linux服务器提取文件。 这更容易,因为Linux已经拥有所有必需的服务器。 不管怎么说,你需要在Linux上启动它们。
Windows上有很多sftp,scp客户端。 Windows附带一个ftp客户端。 谷歌的sftp客户端。 您将找到WinSCP , Putty , filezilla和sftp客户端列表免费国家/地区列表。
我好几年没用过了,但你可以试试http://www.cis.upenn.edu/~bcpierce/unison/的 Unison
它可以使用'smbclient'来完成,它的行为很像FTP客户端到Windows共享。 查看联机帮助页: man smbclient
并查找使用-c
选项编写脚本的方法,或者man expect
驱动它。
这是我可能会这样做的方式:
mkdir /mnt/sharename
编辑/ etc / fstab文件并添加类似这样的条目。 用您的用户ID替换用户ID 500。 用您的Windows共享名称替换sharename。 用您的主机名或IP地址替换WINDOWSHOSTNAME。 如果您不知道共享,请运行smbclient -L WINDOWSHOSTNAME
。
//WINDOWSHOSTNAME/sharename /mnt/sharename cifs credentials=/root/smblogin,uid=500,noauto,user 0 0
编辑/ root / smblogin并在其中添加以下两行
username=YOUR_WINDOWS_USERNAME
password=YOUR_WINDOWS_PASSWOD
以步骤1中的用户身份登录。
mount /mnt/sharename
如果成功,则编写脚本以自动执行。 我们称之为'backup.sh':
#!/bin/sh
df | grep -q /mnt/sharename
if test $? -ne 0 ; then
mount /mnt/sharename
fi
cp -r /path/to/dir /mnt/sharename/destination/
使用cron运行脚本。
crontab -e
PATH=/bin:/usr/bin
# Backup at 2:15 AM every day. Run 'man 5 crontab' for help on the time format
15 2 * * * /path/to/backup.sh
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.