【问题标题】:logic to send two files from unix to mainframe using SCP or none of them使用 SCP 将两个文件从 unix 发送到大型机的逻辑或不发送
【发布时间】:2012-02-13 21:55:42
【问题描述】:

我在 unix 文件夹中创建了两个源文件,比如 file1.dat 和 file2.dat。

我需要使用 SCP 将文件发送到大型机。

我写的unix脚本如下:

if [[ -f $MY_DIR/$SOURCE1 ] -a [ -f $MY_DIR/$SOURCE2 ]]; then

       scp -P 2222 $MY_DIR/$SOURCE1 $MFDESTINATION1
       if [ $? -ne 0 ]; then
           ftp_status='100'
           $LOG_DIR/my_log $0 "(SCP FOR $SOURCE1) ended in ERROR"
           exit 255

       else         
          scp -P 2222 $MY_DIR/$SOURCE2 $MFDESTINATION2
          if [ $? -ne 0 ]; then
            ftp_status='100'
            $LOG_DIR/my_log $0 "(SCP FOR $SOURCE2) ended in ERROR"
            exit 255
          fi
      fi
fi

该逻辑适用于 file1,即如果 file1 传输导致错误,则不要传输 file2。

但如果 file1 传输成功,则启动 file2 传输。如果失败,则 file1 已经在 MF 中。

我不想要那个。我想发送两个文件或一个都不发送。

如何实现?

如果 file2 传输失败,我知道最后一个选项是删除 MF 中的 file1。但是有没有其他办法呢?

感谢阅读!

【问题讨论】:

    标签: unix scripting scp


    【解决方案1】:

    我要做的是将文件传输到最终文件应该位于的同一文件系统上的临时位置(或使用远程服务不会拾取的临时名称),如果两者都重命名文件转账成功。如果您确保文件名可用,则重命名永远不会在同一文件系统上失败。

    干杯, 米奇

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-22
      • 2020-04-13
      • 2019-05-31
      • 2014-12-13
      • 1970-01-01
      • 2017-02-26
      相关资源
      最近更新 更多