每分钟从linux复制到windows

mou*_*che 5 file-sharing samba windows cp

我目前快速设置了一种将文件从我的 linux 机器复制到多人可以访问的 Windows 共享的方法,但我正在寻找更好的方法。

在 Windows 7 中,我创建了一个可供所有人访问的文件夹。

在 linux 中,我创建了目录 /mnt/windows_share 并使用 samba 挂载了 windows 共享:

sudo mount -t cifs -o username=mouche,password=1234 //COMPUTERNAME/share_dir /mnt/windows_share
Run Code Online (Sandbox Code Playgroud)

然后我在要从中复制文件的目录中使用 sudo 运行此脚本:

#!/usr/bin/perl -w
while (1)
{
    system("cp -u * /mnt/windows_share/");
    sleep 1;
}
Run Code Online (Sandbox Code Playgroud)

这样做的一个问题是它每次更新时都会更新 Windows 的“修改日期”属性,即使我向 cp 添加了 -u 选项。此外,如果机器重新启动,则必须再次运行 mount 命令和脚本(使用 sudo,因此您需要知道密码)。

有关如何改进此过程的任何建议?

Fre*_*rdt 10

您应该尝试 rsync 而不是 cp:rsync -avz linux_path /mnt/windows_share/和 crontab 而不是 perl loop:crontab -e并添加以下行:

* * * * * rsync -avz linux_path /mnt/windows_share/

它将每分钟执行一次,如果在您的情况下这是一个选项,那么它比 while 循环更健壮。