小编jde*_*een的帖子

bash - wget -N if else 值检查

我正在编写一个 bash 脚本,仅当远程时间戳与本地时间戳不同时,该脚本才会从 FTP 站点提取文件。放置文件后,它通过 samba (smbclient) 将文件复制到其他 3 台计算机。

一切正常,但即使 wget -N ftp://insertsitehere.com返回远程上的文件不是较新的值,文件也会复制。检查脚本输出的最佳方法是什么,以便仅在从 FTP 提取新版本时才进行复制?

理想情况下,我希望复制到计算机以保留时间戳,就像 wget -N 命令一样。

这是我所拥有的示例:

#!/bin/bash

OUTDIR=/cats/dogs

cd $OUTDIR
wget -N ftp://user:password@sitegoeshere.com/filename

if [ $? -eq 0 ]; then
   HOSTS="server1 server2 server3"
   for i in $HOSTS; do
      echo "Uploading to $i..."
      smbclient -A /root/.smbclient.authfile //$i/path -c "lcd /cats/dogs; put fiilename.txt"
      if [ $? -eq 0 ]; then
        echo "Upload to $i successful..."
      else
        echo "There was an issue uploading to host $i..."
      fi …
Run Code Online (Sandbox Code Playgroud)

linux ftp bash wget timestamping

5
推荐指数
1
解决办法
2442
查看次数

标签 统计

bash ×1

ftp ×1

linux ×1

timestamping ×1

wget ×1