Shell 脚本学习 day01

release node

v1 初始版本

   #定义备份目录#当前时间#检查备份目录是否存在,不存在需要创建# 查找并备份 .xxx 文件# 提取文件名(不包含路径部分)# 构建备份文件名# 将查出来的.xxx文件拷贝到备份目录
#!/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" ]; thenmkdir -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

release node

v1.1 逻辑修改

	#定义备份目录# 当前时间# 判断备份目录是否存在,不存在需要创建# 如果备份目录存在,需要删除这个备份目录重新创建# 查找并备份 .xxx 文件# 提取文件名(不包含路径部分)# 构建备份文件名# 将查出来的.xxx文件拷贝到备份目录
#!/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" ]; thenmkdir -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

release node

v2.0 重新定义路径

	#定义路径#定义备份目录# 当前时间# 判断备份目录是否存在,不存在需要创建# 如果备份目录存在,需要删除这个备份目录重新创建# 查找并备份 .xxx 文件# 提取文件名(不包含路径部分)# 构建备份文件名# 将查出来的.xxx文件拷贝到备份目录
#!/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" ]; thenmkdir -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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/123178.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iOS调试技巧——使用Python 自定义LLDB

一、类介绍 在使用Python 自定义LLDB之前,先了解一下LLDB的一些类型 SBTarget 正在被调试的程序SBProcess 和程序关联的具体的进程SBThread 执行的线程SBFrame 和线程关联的一个栈帧SBVariable 变量,寄存器或是一个表达式 一般情况下,我们…

D-LINK SQL注入漏洞让攻击者获得管理员权限

D-Link DAR-7000 设备中发现了一个名为 SQL 注入的安全漏洞。 SQL注入是一种恶意攻击,它利用Web应用程序中的漏洞注入恶意SQL语句并获得对数据库的未经授权的访问。 此技术允许攻击者查看、修改和删除数据库中的数据,这可能对数据的机密性、完整性和可…

Linux下进程地址空间初步理解

进程地址空间 进程地址空间是操作系统为每个进程分配的一块内存空间,用于存储进程的代码、数据和堆栈等信息。进程地址空间是逻辑上独立而相互隔离的,每个进程拥有自己独立的地址空间,进程之间不能直接访问彼此的地址空间。 代码段&#xff…

sass和 scss的区别?

Sass(Syntactically Awesome Style Sheets)和 SCSS(Sassy CSS)是两种流行的 CSS 预处理器,它们扩展了普通的 CSS 语法,提供了更多的功能和便利性。下面是 Sass 和 SCSS 的主要区别: 1&#xff…

【Java】HashSet集合用法

目录 HashSet 集合特点 示例代码 手写HashSet集合 HashSet 没有Get() HashSet 集合特点 HashSet 基于HashMap 来实现的,是一个不允许有重复元素的集合HashSet 允许有 null 值HashSet 是无序的,即不会记录插入的顺序HashSet集合实现了Set接口HashSet …

SpringCloud Alibaba【三】Gateway

Gateway配置与使用 前言新建gateway子项目pom.xml配置文件启动类访问接口方式 测试拓展 前言 在工作中遇到一种情况,一个父项目中有两个子项目。实际使用时,需要外网可以访问,宝信软件只能将一个端口号发布在外网上,所以需要运用…

什么是操作系统

如果你能大概了解下图?这个大概了解操作系统的样子,这是计算机的一些个裸件,了解这些对将来深入学习操作系统,是一个基础。 今天的内容:我们要建立操作系统的一个宏观轮廓 这个有黑色的,一条一条的&#…

Kubernetes技术与架构-存储 2

在Kubernetes集群中,一块持久化存储空间是可以被回收再利用,简称PV,即PersistentVolume,Pod实例需要使用PV的时候,可以使用PVC定义申请PV存储资源,PVC是PersistentVolumeClaim的简称,PV的申请分…

「实验记录」CS144 Lab0 networking warmup

文章目录 一、Motivation二、SolutionsS1 - Writing webgetS2 - An in-memory reliable byte stream 三、Results四、Source 一、Motivation 第一个小测试 webget 是想让我们体验并模拟一下在浏览器中键入 URL 后获得远程服务器传来的内容,这并没有太大的难度&…

【Oracle】Navicat Premium 连接 Oracle的两种方式

Navicat Premium 使用版本说明 Navicat Premium 版本 11.2.16 (64-bit) 一、配置OCI 1.1 配置OCI环境变量 1.1.2 设置\高级系统设置 1.1.2 系统属性\高级\环境变量(N) 1.1.3 修改/添加系统变量 ORACLE_HOME ORACLE_HOME D:\app\root\product\12.1.0\dbhome_11.1.4 添加系…

基于AI与物联网技术的智能视频监控系统架构剖析

智能视频监控系统正逐渐成为我们日常生活和工作中不可或缺的一部分。基于物联网的智能监控系统架构为我们在各个领域提供了更高效、智能化和安全的监控解决方案。本文将以旭帆科技EasyCVR视频监控云平台为例,介绍基于AI、物联网的智能监控系统的架构,并探…

电脑提示由于找不到vcruntime140.dll文件,教你四个解决方案

本文将介绍vcruntime140.dll文件的定义、作用以及丢失的原因,并提供四个解决方案来解决这个问题。 首先,让我们来了解一下vcruntime140.dll文件是什么。vcruntime140.dll是Microsoft Visual C Redistributable Package的一部分,它是运行使用…

业务设计——用户敏感信息展示脱敏及其反脱敏

业务需求 将用户敏感信息脱敏展示到前端是出于保护用户隐私和信息安全的考虑。 敏感信息包括但不限于手机号码、身份证号、银行卡号等,这些信息泄露可能导致用户个人信息的滥用、身份盗用等严重问题。脱敏是一种常用的保护用户隐私的方式,它的目的是减少…

IOC课程整理-6 Spring IoC 依赖注入

1 依赖注入的模式和类型 模式 类型 2 自动绑定(Autowiring) 官方定义 “自动装配是Spring框架中一种机制,用于自动解析和满足bean之间的依赖关系。通过自动装配,Spring容器可以根据类型、名称或其他属性来自动连接协作的bean&…

LeetCode 541 反转字符串 II 简单

题目 - 点击直达 1. 541 反转字符串 II 简单1. 题目详情1. 原题链接2. 题目要求3. 基础框架 2. 解题思路1. 思路分析2. 时间复杂度3. 代码实现 1. 541 反转字符串 II 简单 1. 题目详情 给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个…

OpenCV官方教程中文版 —— 模板匹配

OpenCV官方教程中文版 —— 模板匹配 前言一、原理二、OpenCV 中的模板匹配三、多对象的模板匹配 前言 在本节我们要学习: 使用模板匹配在一幅图像中查找目标 函数:cv2.matchTemplate(),cv2.minMaxLoc() 一、原理 模板匹配是用来在一副大…

BUUCTF Reverse 新年快乐

下载文件先查壳,可以看到有UPX壳 用upx脱壳 拖到ida pro32,shiftF12查看字符串,看到关键字flag,双击进去 双击然后f5查看伪代码 main函数伪代码 关键函数: strncmp(const char *str1, const char *str2, size_t n)…

Epinoia-有状态网络的意图验证模块,略读

Epinoia relies on a unified model for NFs by leveraging the causal precedence relationshipsthat exist between NF packet I/Os and states. 这句话的意思是:“Epinoia依靠一种统一的网络功能(NF)模型,通过利用存在于 NF 包…

群智能算法之模拟退火算法

1.模拟退火算法简介: 2.模拟退火算法的关键点: (1)随机的更新可行解x,判断可行解x对应的函数值和原来函数值之间的大小:如果优于原来的函数值,则让新的可行解x为问题的解;否则以一定的概率(大于…

FL Studio21.2.0.3421最新汉化破解版中文解锁下载完整版本

音乐在人们心中的地位日益增高,近几年音乐选秀的节目更是层出不穷,喜爱音乐,创作音乐的朋友们也是越来越多,音乐的类型有很多,好比古典,流行,摇滚等等。对新手友好程度基本上在首位,…