shell脚本移动文件

2023-05-16

需求:

移动/iotdata/data/edge/ota-file-store/下的所有文件到/iotdata/data/edge/download/ota目录下,并删除旧目录

shell命令

mkdir -p /iotdata/data/edge/download/ota/; cp -r /iotdata/data/edge/ota-file-store/. /iotdata/data/edge/download/ota/;rm -rf /iotdata/data/edge/ota-file-store

shell脚本

#!/bin/bash

dest_dir="/iotdata/data/edge/download/ota"
src_dir="/iotdata/data/edge/ota-file-store"
 
if [ ! -d ${dest_dir} ]; then
  mkdir -p ${dest_dir}
  echo "新增文件夹/iotdata/data/edge/download/ota成功"
fi 

if [ -d ${src_dir} ]&&[ -e ${src_dir} ]; then
  cp -R ${src_dir}/. ${dest_dir}/
  echo "复制原文件夹的固件到新文件夹成功"
fi
 
if [ -d ${src_dir} ]; then
  rm -R ${src_dir}
  echo "删除旧固件文件夹"
fi

ansible剧本

---

- hosts: all
  tasks:
    - name: create a new ota directory if it doesn't exist
      file:
        path: "{{target_root_dir}}/data/edge/download/ota"
        state: directory

    - name: Check old ota file path exists
      stat:
        path: "/iotdata/data/edge/ota-file-store"
      register: ota_file_store_stat

    - name: move old ota files to new path
      command: "cp -r /iotdata/data/edge/ota-file-store/. /iotdata//data/edge/download/ota/"
      when: ota_file_store_stat.stat.exists

    - name: Remove old ota file path
      file:
        path: "/iotdata/data/edge/ota-file-store"
        state: absent
      ignore_errors: yes
      when: ota_file_store_stat.stat.exists
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

shell脚本移动文件 的相关文章

  • shell脚本中是否有互斥/信号量机制?

    我正在 shell 脚本中寻找互斥 信号量 并发机制 考虑以下情况 除非 a 用户不关闭共享文件 否则 b 用户应该无法打开 更新它 我只是想知道如何在 shell 脚本中实现互斥量 信号量 临界区等 在 shell 脚本中实现锁定机制 文
  • 如何从 Linux 命令行确定 LCD 显示器是否打开

    如何通过 Linux 命令行判断计算机的显示器是否打开 关闭 我传统上认为显示器是仅输出的设备 但我注意到 Gnome 显示器首选项对话框具有 检测显示器 功能 这可以推广到确定显示器是否物理关闭吗 VESA DDC 连接是I2C http
  • shell中基于正则表达式的颜色突出显示输出

    我想知道是否可以用颜色突出显示与某些字符串匹配的 shell 命令的输出 例如 如果我运行 myCommand 输出如下 gt myCommand DEBUG foo bar INFO bla bla ERROR yak yak 我希望所有
  • Bash shell 读取错误:0:资源暂时不可用

    编写 bash 脚本时 有时你运行的命令会打开另一个程序 例如 npm composer 等 但同时你需要使用read以提示用户 你不可避免地会遇到这种错误 read read error 0 Resource temporarily un
  • bash.sh 运行 cron 的权限被拒绝

    如何在这里使用 bash 脚本运行 cron 我做了如下操作 这里有错误 我想知道如何在 ubuntu 中做到这一点 我现在对它感到震惊 bash sh 文件 bin bash cd var www Controller usr bin p
  • 了解 IServiceProvider 和 QueryService

    谁能解释一下背后的想法IServiceProvider and QueryService 我不明白服务是什么以及它与其他类型的对象或接口有何不同 我看到的解释很少 主要是一些评论here https learn microsoft com
  • grep 跨文件的最后 n 个匹配

    我正在使用 grep 提取一组文件中的行 grep 一些字符串 log 是否可以将每个文件的最大匹配数限制为每个文件的最后 n 个匹配项 好吧 我认为 grep 不支持限制从文件末尾开始的 N 个匹配 所以这就是你必须做的 ls log w
  • 如何在 PHP 中执行 shell 脚本?

    我有一个脚本 var www myscript sh它创建文件夹并运行命令svn update对于我的项目 我需要通过在浏览器中的 PHP 文件中调用它来执行此脚本 即本地主机 test php 我尝试使用函数shell exec and
  • 终端从包含空格的变量传递参数

    在终端中如何将包含空格的字符串作为参数传递 它实际上跳过了空格后面的部分 只取第一个单词 word soccer ball shell exec casperjs test js word word 那么我怎样才能转义空白它只运行这个命令
  • 检查 jar 是否从 shell 运行

    我有一个 java jar 程序 我试图在我的机器启动时运行它 理想情况下 shell 脚本将每 60 秒检查一次以确保 jar 正在运行 我如何检查 jar 是否在 centos 上运行 这似乎不起作用 我当前的 sh 文件 bin ba
  • 为什么 ls -l 中的“总计”加起来不等于列出的总文件大小? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 为什么是total在输出中ls l打印为64并不是26078列出的所有文件的总数是多少 ls l test ls total 64 rw
  • Linux 从设备本身运行的脚本卸载设备

    我在路径中安装了一个 iso 映像 mnt iso 在这个 iso 中我有一个安装脚本 install sh 我从 iso 运行安装脚本 最后脚本询问用户是否要卸载 iso 本身 如果用户按 y 脚本将执行以下代码 cd umount mn
  • “设置:非法选项 -”在一台主机上,但在另一台主机上则不然

    我在我的一台 ubuntu 虚拟机中编写了一个 sh 脚本 该脚本工作正常 但是当我尝试在其他虚拟机中运行它时 它不起作用 两个虚拟机应该相同 和bash version两个虚拟机均回复 GNU bash version 4 3 11 1
  • 编写健壮的 shell 脚本有哪些规则?

    I recently erased part of my home directory with a shell script I wrote Fortunately I did hit Ctrl C fast enough to avoi
  • Perforce:从命令行“从工作区中删除”?

    The p4v Perforce GUI 客户端 http www perforce com perforce products p4v html具有 操作 gt 从工作空间中删除 菜单命令 该命令可从工作空间中删除受版本控制且未打开进行编
  • 使用 find 和 xargs 交互删除文件

    我正在尝试将一些文件从 find 命令传输到交互式删除命令 以便我可以仔细检查要删除的文件 但我遇到了一些麻烦 find name print0 xargs 0 rm i 我认为上面的方法可行 但我只得到一串 rm remove regul
  • MongoDB - 编辑器变量 - MongoDB shell - Windows 7

    EDITOR 变量功能真的可以在 Windows 7 上使用吗 我正在读一篇文章 说一旦我们设置了 EDITOR 变量在 mongorc js 中 我们只需在 shell 中输入 编辑变量名 and var name将被加载到编辑器中 在我
  • 如何 grep 文件中不区分大小写的字符串?

    我有一个文件file1其结尾为Success OR success 我想要grep为了这个词success以一种不区分大小写的方式 我写了以下命令 但它区分大小写 cat file1 grep success 我怎样才能改变它 以便它ret
  • python等待shell命令完成

    我正在运行脚本来解压缩一些文件 然后删除 rar 文件 我通过 shell 运行命令来完成此操作 我尝试了几种不同的方法来让脚本等待文件解压完成 但它仍然继续并在文件使用完成之前删除文件 我已经尝试过下面的代码 这是行不通的 我试图看看是否
  • 在Java中执行.lnk文件

    我需要在java中执行 lnk文件 指向exe文件的lnk文件 我能怎么做 在 VB net 中我做 Process Start path 它有效 谢谢你的帮助 Use a 流程构建器 http download oracle com ja

随机推荐