从 Linux 服务器检查 Windows 服务器中是否存在文件,如果文件存在则复制

从 Linux 服务器检查 Windows 服务器中是否存在文件,如果文件存在则复制

有没有办法从 Linux 服务器检查 Windows 服务器中是否存在文件,如果文件存在则复制到 Linux 服务器,而无需将 Windows fs 安装到 Linux。也许是公钥?但不确定如何开始。我想编写一个脚本来检查 Windows 服务器中是否存在文件,如果存在则将其复制到 Linux 服务器。

答案1

如果你的 Windows 服务器有 apache 或任何 http/ftp/sftp 服务器那么你就可以轻松使用 curl 例如:

funker()
{ 
lic=$(curl http://192.168.0.138/lic.txt) #reads the file on the remote server

if [ $lic == encoder ] #checks if file has the desired content
then 
echo "file detected" #true statement
#cat a status file readable by other scripts
cat > /path to file/enc_stat.txt << EOF 
true
EOF
else 
echo "file not detected"

cat > /path to file/enc_stat.txt << EOF
false
EOF
fi
} 

这是状态如果你明确需要知道文件是否存在上述也可以通过以下方式实现

status=$(curl http://192.168.0.138/lic.txt | wc -l)

如果你需要下载/复制它,那么你可以

curl -O http://192.168.0.138/lic.txt 

(这将下载并保存与原始文件同名的文件)

curl -o newname.txt http://192.168.0.138/lic.txt 

(这将允许您下载文件,同时为文件分配新名称或新路径和名称)

我制作了一个基于 sh 的 systemd 服务来自动化这个希望我能提供帮助

相关内容