通过 ssh 检查远程文件附加是否成功

通过 ssh 检查远程文件附加是否成功

我喜欢定期将一些数据附加到远程文件,ssh然后在本地将其删除。例如:

cat some_lines_to_append.txt | ssh [email protected] 'cat >> all_lines_collected.txt'
rm some_lines_to_append.txt

现在我想确保some_lines_to_append.txt只有当线路传输成功时才会删除。该怎么做?

失败时是否会>>自行创建某种错误返回代码,或者cat在这种情况下是否会ssh传递该返回代码?

shh如果提前完成,它本身是否会提供非零返回代码?

答案1

cat成功时将返回 0(零)。

根据ssh手册:

退出状态

  ssh exits with the exit status of the remote command or with 255 if an error occurred.

所以对你来说这就足够了

cat some_lines_to_append.txt |
   ssh [email protected] 'cat >> all_lines_collected.txt' &&
   rm some_lines_to_append.txt ||
   echo 'Error occurred.'

相关内容