检查 rsync 命令是否运行成功

2024-03-07

以下 bash 脚本每小时执行一次文件夹的 rsync:

#!/bin/bash
rsync -r -z -c /home/pi/queue [email protected] /cdn-cgi/l/email-protection:/home/foobar
rm -rf rm /home/pi/queue/*
echo "Done"

但我发现我的 Pi 与互联网断开连接,因此 rsync 失败。因此它执行了以下命令,删除了该文件夹。 如何确定 rsync 命令是否成功,如果成功,则可能会删除该文件夹。


通常,任何 Unix 命令如果运行成功则返回 0,否则返回非 0。

查看 man rsync 以获得可能与您的情况相关的退出代码,但我会这样做:

#!/bin/bash
rsync -r -z -c /home/pi/queue [email protected] /cdn-cgi/l/email-protection:/home/foobar && rm -rf rm /home/pi/queue/* && echo "Done"

仅当一切顺利时 rm 和 echo 才会完成。

其他方法是使用 $?变量始终是上一个命令的返回代码:

#!/bin/bash
rsync -r -z -c /home/pi/queue [email protected] /cdn-cgi/l/email-protection:/home/foobar
if [ "$?" -eq "0" ]
then
  rm -rf rm /home/pi/queue/*
  echo "Done"
else
  echo "Error while running rsync"
fi

see 手动同步, 部分退出价值

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检查 rsync 命令是否运行成功 的相关文章

  • 如何查找连接到 AF_INET 套接字的客户端的 UID?

    有什么方法或类似的东西ucred for AF UNIX如果是AF INET插座 TCP在我的例子中 找出连接到我的套接字的客户端的UID 还有 proc net tcp但它显示了UID of the creator插座的而不是连接的cli
  • 文本处理问题:删除其中一列不包含特定值的行

    我有一个制表符分隔的文件 如下所示 input sequence match sequence score receptor group epitope antigen organism ASRPPGGVNEQF ASRPPGGVNEQF
  • Linux shell 脚本中的 while 循环超时

    这工作正常 无限循环 while TRUE do printf done 我在尝试着timeout this while loop与timeout命令 所有这些都不起作用 timeout 5 while TRUE do printf don
  • 在 Fish Shell 中设置导出

    我安装了多个版本的 PHP 对于我的正常开发 我总是使用通过自制程序安装的 PHP 5 5 x 在鱼壳里 which php php version gt usr local bin php gt PHP 5 5 8 cli built J
  • 如何在lua中获取shell脚本的返回码?

    我正在lua中执行一个脚本 os execute sh manager scripts update system sh f 我想获得脚本的输出 如果退出状态为 7 则返回 7 I tried local output os execute
  • bash 变量中的 Linux 鞭尾/对话框参数错误

    有人可以解释为什么下面的代码不起作用吗 我要疯狂地想找出答案 bin bash TEST M1 1 wire Interface ON echo TEST RESULT dialog title Config Modules State c
  • 在主目录中安装库

    在 Linux Ubuntu 中 我尝试运行一个工具 但它显示错误 库丢失 我无权在系统中安装任何内容 或者根本无法从我的用户帐户执行 sudo 是否可以在我的主目录 没有 sudo 中安装缺少的库 在我的例子中为 libstdc so 6
  • 如何将设备屏幕位置转换为发送事件位置?

    我知道关于input tap x yshell 命令 但是 我想了解如何 使用执行单击sendevent命令 我能够通过以下命令实现它 sendevent dev input event5 3 53 X sendevent dev inpu
  • 如何制作和应用SVN补丁?

    我想制作一个SVN类型的补丁文件httpd conf这样我就可以轻松地将其应用到其他主机上 If I do cd root diff Naur etc httpd conf httpd conf original etc httpd con
  • QFileDialog::getSaveFileName 和默认的 selectedFilter

    我有 getSaveFileName 和一些过滤器 我希望当用户打开 保存 对话框时选择其中之一 Qt 文档说明如下 可以通过将 selectedFilter 设置为所需的值来选择默认过滤器 我尝试以下变体 QString selFilte
  • ansible 重新启动 2.1.1.0 失败

    我一直在尝试创建一个非常简单的 Ansible 剧本 它将重新启动服务器并等待它回来 我过去在 Ansible 1 9 上有一个可以运行的 但我最近升级到 2 1 1 0 并且失败了 我正在重新启动的主机名为 idm IP 为 192 16
  • awk: hping: 打印 icmp 发起/接收之间的差异

    我有以下输出hping http ports su net hping在 OpenBSD 上 hping icmp ts www openbsd org HPING www openbsd org re0 129 128 5 194 icm
  • 从 Amazon S3 存储桶下载文件的脚本

    尝试编写脚本以从 Amazon S3 存储桶下载文件 cURL 网站上的示例遇到问题 下面的脚本产生 我们计算的请求签名与您的签名不匹配 假如 检查您的密钥和签名方法 感谢任何帮助 bin sh file filename php buck
  • bluetoothctl 到 hcitool 等效命令

    在 Linux 中 我曾经使用 hidd connect mmac 来连接 BT 设备 但自 Bluez5 以来 这种情况已经消失了 我可以使用 bluetoothctl 手动建立连接 但我需要从我的应用程序使用这些命令 并且使用 blue
  • awk 子串单个字符

    这是columns txt aaa bbb 3 ccc ddd 2 eee fff 1 3 3 g 3 hhh i jjj 3 kkk ll 3 mm nn oo 3 我可以找到第二列以 b 开头的行 awk if substr 2 1 1
  • 创建 jar 文件 - 保留文件权限

    我想知道如何创建一个保留其内容的文件权限的 jar 文件 我将源代码和可执行文件打包在一个 jar 文件中 该文件将在使用前提取 人们应该能够通过运行批处理 shell 脚本文件立即运行示例和演示 然后他们应该能够修改源代码并重新编译所有内
  • Android:ANT 构建失败,并显示 google-play-services-lib:“解析为没有项目的 project.properties 文件的路径”

    我正在尝试使用 ANT 构建我的应用程序 但在包含 google play services lib 库项目后 我惨遭失败 Step 1 我在 project properties 文件中设置了对库项目的引用 android library
  • Bash 解析和 shell 扩展

    我对 bash 解析输入和执行扩展的方式感到困惑 对于输入来说 hello world 作为 bash 中的参数传递给显示其输入内容的脚本 我不太确定 Bash 如何解析它 Example var hello world displaywh
  • 无法加载 JavaHL 库。- linux/eclipse

    在尝试安装 Subversion 插件时 当 Eclipse 启动时出现此错误 Failed to load JavaHL Library These are the errors that were encountered no libs
  • 强制卸载 NFS 安装目录 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案

随机推荐

  • 用于部署的语言/堆栈[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在进行相当密集的重写 并可以选择以下选项 JSP Java 运行在 Tomcat 上 PHP 运行在 Apache 下 Ruby 我不确定在
  • 为什么Android虚拟设备太慢?

    我刚刚从 android 开发者网站下载了 adt bundle 来尝试一下 当我点击 运行 按钮时 问题就开始了 Android虚拟设备或 avd 速度非常慢 我有一台相当不错的机器 核心 i7 和 16go 内存 他们不知道吗 我的意思
  • 如何防止模板类被多次派生?

    我有以下模板类 template
  • 使用 Pig 中的elephantbird 进行 Json 解析

    我无法在 Pig 中解析以下数据 这是 Twitter API 在获取某个用户的所有推文后返回的内容 源数据 我删除了一些数字 以免无意中侵犯任何人的隐私 created at Sat Nov 01 23 15 45 0000 2014 i
  • Spring第一次请求非常慢

    我在 Spring Boot 中有应用程序 使用嵌入的tomcat初始化Spring Boot后 第一次响应非常慢 我该如何修复它 spring boot 有预热命令 模式吗 我也在考虑与数据库的连接 我想知道连接数据库 可能 spring
  • Winforms:不是有效的 Win32 应用程序

    我使用 VS2012 创建了一个简单的 Windows 窗体应用程序 并尝试将其安装到 XP 计算机上 不幸的是我收到以下错误消息 setup exe 不是有效的 Win32 应用程序 不可否认 我确实使用了 net 4 5 框架 这在 X
  • 使用 Jetpack Compose 上的 Spacer 填充剩余空间

    我想我可能会遗漏一些东西 有没有办法在 Compose Beta01 中实现 填充其余空间 而不需要额外的Box包裹间隔物的元素 Spacer不幸的是 没有重量调节器 Column modifier Modifier height 120
  • 如何有条件地导入 ES6 模块?

    我需要做类似的事情 if condition import something from something if something something doStuff 上面的代码无法编译 它抛出SyntaxError import an
  • 动态输入值不会使用 codeigniter 保存在数据库中

    I want letting user add dynamic inputs and save those values in the database But with this code only one value save to t
  • 通过字符串生成 EF orderby 表达式[重复]

    这个问题在这里已经有答案了 我想通过字符串参数生成表达式 一些代码如下 private Expression
  • Graphviz - 如何使标签中的文本左对齐?

    我正在使用 graphviz 来可视化我正在解析的语言的 AST 我想包含源代码 作为标签 但 graphviz 对齐标签内的文本 这会扰乱我的缩进 并且代码对缩进敏感 这是问题的示例 第二行代码不应缩进 这是生成的 dot 文件的相关部分
  • 嵌套数组和 ConvertTo-Json

    要使用 REST API 我必须传递一个如下所示的 JSON 对象 series metric custom powershell gauge points 1434684739 1000 注意这里的嵌套数组 我无法重现这个 这是我的代码
  • decltype(auto) 和 decltype(returning expr) 作为返回类型有什么区别?

    有什么区别decltype auto and decltype returning expression 作为函数 模板 的返回类型如果expr在这两种情况下都没有使用括号吗 auto f gt decltype auto return e
  • 功能级别的任何黄瓜 Before 和 After 挂钩

    我已经经历过很多帮助 但都是关于场景级别的解释 Cucumber JVM 是否有功能级别的 Before 和 After 挂钩 这一页黄瓜钩 https stackoverflow com questions 23113370 is the
  • Symfony 2 - 在 Amazon S3 上上传图像的最佳实践

    我有一个表格 其中有一个file字段上传图像 我需要将此图像上传到 Amazon S3 一步一步构建这个 我开始将图像上传到本地磁盘上 现在它可以工作了 上传发生在我的实体内部Page因为建议在保存实体之前测试上传是否成功 我最终得到了这段
  • Firebase 检索嵌套数据

    我在尝试从 Firebase 检索时遇到了一些麻烦 基本上我的组表是这样的 在这种情况下 根据group ID KpFibCHjJ1xpfLd07WJ 有一个account ID KpFiX2L7ENt6EBgrB0S 右边将会有多个帐户
  • 上传后使用 ExpressJS 将文件存储在 Mongo 的 GridFS 中

    我已经开始使用expressJS 构建REST api 我是节点新手 所以请耐心等待 我希望能够让用户使用 upload 路由的帖子将文件直接上传到 Mongo 的 GridFS 根据我在expressJS文档中的理解 req files
  • 如何使用 JPA 2.1 转换连接的元素集合?

    我有3张桌子user user team and team user id number name varchar team name varchar user team user id number FK gt user id team
  • Mercurial Eclipse 错误

    我正在尝试在 Eclipse 中使用 Mercurial 我为此下载了 Mercurial Eclipse 插件 但是 尽管我重新安装了很多次 但还是出现同样的错误 我将屏幕截图放在下面 Checking encoding cp1254 C
  • 检查 rsync 命令是否运行成功

    以下 bash 脚本每小时执行一次文件夹的 rsync bin bash rsync r z c home pi queue email protected cdn cgi l email protection home foobar rm