• Shell 脚本学习 day01


    release node

    v1 初始版本

       #定义备份目录
       #当前时间
       #检查备份目录是否存在,不存在需要创建
       # 查找并备份 .xxx 文件
       		# 提取文件名(不包含路径部分)
       		# 构建备份文件名
       		# 将查出来的.xxx文件拷贝到备份目录
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    #!/bin/bash
    # context 备份根目录下所有.xxx文件并重命名复制到指定文件中
    # author  Tianhao
    # version v1.0
    # data    10/28/2023
    # 版权所有,翻版必究
    
    #定义备份目录
    backup_dir="/tianhaodata/context"
    echo "定义备份目录: $backup_dir"
    #当前时间
    current_date=$(date +"%Y%m%d")
    echo "当前时间: $current_date"
    
    #检查备份目录是否存在,不存在需要创建
    if [ ! -d "$backup_dir" ]; then
        mkdir -p "$backup_dir"
        echo "创建备份目录: $backup_dir"
    fi
    
    # 查找并备份 .xxx 文件
    find / -type f -name "*.txt" | while read -r xxx_file ; do
        # 提取文件名(不包含路径部分)
        file_name=$(basename "$xxx_file")
        # 构建备份文件名
        backup_file="$backup_dir/${file_name}_${current_date}"
        # 将查出来的.xxx文件拷贝到备份目录
        cp "$xxx_file" "$backup_file"
        echo "备份文件 $xxx_file$backup_file"
    done
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30

    release node

    v1.1 逻辑修改

    	#定义备份目录
    	   # 当前时间
    	   # 判断备份目录是否存在,不存在需要创建
    	   # 如果备份目录存在,需要删除这个备份目录重新创建
    	   # 查找并备份 .xxx 文件
    	   		# 提取文件名(不包含路径部分)
    	   		# 构建备份文件名
    	   		# 将查出来的.xxx文件拷贝到备份目录
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    #!/bin/bash
    # context 备份根目录下所有.xxx文件并重命名复制到指定文件中
    # author  Tianhao
    # version v1.1
    # data    10/28/2023
    # 版权所有,翻版必究
    
    #定义备份目录
    backup_dir="/tianhaodata/context"
    echo "定义备份目录: $backup_dir"
    #当前时间
    current_date=$(date +"%Y%m%d")
    echo "当前时间: $current_date"
    
    #检查备份目录是否存在,不存在需要创建
    if [ ! -d "$backup_dir" ]; then
        mkdir -p "$backup_dir"
        echo "创建备份目录: $backup_dir"
    fi
    
    # 查找并备份 .xxx 文件
    find / -type f -name "*.txt" | while read -r xxx_file ; do
        # 提取文件名(不包含路径部分)
        file_name=$(basename "$xxx_file")
        # 构建备份文件名
        backup_file="$backup_dir/${file_name}_${current_date}"
        # 将查出来的.xxx文件拷贝到备份目录
        cp "$xxx_file" "$backup_file"
        echo "备份文件 $xxx_file$backup_file"
    done
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30

    release node

    v2.0 重新定义路径

    	#定义路径
    	#定义备份目录
    	# 当前时间
    	# 判断备份目录是否存在,不存在需要创建
    	# 如果备份目录存在,需要删除这个备份目录重新创建
    	# 查找并备份 .xxx 文件
    		# 提取文件名(不包含路径部分)
    		# 构建备份文件名
    		# 将查出来的.xxx文件拷贝到备份目录
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    #!/bin/bash
    # context 备份根目录下所有.xxx文件并重命名复制到指定文件中
    # author  Tianhao
    # version v1.1
    # data    10/28/2023
    # 版权所有,翻版必究
    #定义路径
    root_dir="/"
    #定义备份目录
    backup_dir="/tianhaodata/context"
    echo "定义备份目录: $backup_dir"
    #当前时间
    current_date=$(date +"%Y%m%d")
    echo "当前时间: $current_date"
    
    #检查备份目录是否存在,不存在需要创建
    if [ ! -d "$backup_dir" ]; then
        mkdir -p "$backup_dir"
        echo "创建备份目录: $backup_dir"
    fi
    
    # 查找并备份 .xxx 文件
    find / -type f -name "*.txt" | while read -r xxx_file ; do
        # 提取文件名(不包含路径部分)
        file_name=$(basename "$xxx_file")
        # 构建备份文件名
        backup_file="$backup_dir/${file_name}_${current_date}"
        # 将查出来的.xxx文件拷贝到备份目录
        cp "$xxx_file" "$backup_file"
        echo "备份文件 $xxx_file$backup_file"
    done
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
  • 相关阅读:
    2. ThingsBoard 源码调试
    3.1. 数学函数
    8.0 Python 使用进程与线程
    【深度学习实验】循环神经网络(三):门控制——自定义循环神经网络LSTM(长短期记忆网络)模型
    Compose Desktop 使用中的几个问题(分平台加载资源、编写Gradle 任务下载平台资源、桌面特有组件、鼠标&键盘事件)
    如何编写测试用例?
    OSPF——基本概念2(多区域与Vlink)
    CentOS 7.6安装JDK8过程(通过官网下载压缩包方式)
    【计算机网络】网络编程 Socket
    maven的安装和配置以及如何在IDEA中配置maven
  • 原文地址:https://blog.csdn.net/qq_37348649/article/details/134089343