当前位置: 首页 > news >正文

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

相关文章:

Shell 脚本学习 day01

release node v1 初始版本 #定义备份目录#当前时间#检查备份目录是否存在,不存在需要创建# 查找并备份 .xxx 文件# 提取文件名(不包含路径部分)# 构建备份文件名# 将查出来的.xxx文件拷贝到备份目录#!/bin/bash # context 备份根目录下所有.…...

esp32 rust linux

官方文档:https://esp-rs.github.io/book/introduction.html 安装 rust curl --proto https --tlsv1.2 -sSf https://sh.rustup.rs | sh 工具 risc: rustup toolchain install nightly --component rust-src # nightly 支持 riscv或使用安装工具同时…...

一文了解Elasticsearch

数据分类 数据按数据结构分类主要有三种:结构化数据、半结构化数据和非结构化数据。 结构化数据 结构化数据具有明确定义数据模型和格式的数据类型。 特点: 数据具有固定的结构和模式。 数据项明确定义数据类型和长度。 适合用于数据查询、过滤和分…...

一篇文章认识【性能测试】

一、 性能测试术语解释 1. 响应时间 响应时间即从应用系统发出请求开始,到客户端接收到最后一个字节数据为止所消耗的时间。响应时间按软件的特点再可以细分,如对于一个 C/S 软件的响应时间可以细分为网络传输时间、应用服务器处理时间、数据库服务器…...

linux环境mysql安装配置踩坑

背景: 最近公司项目希望改造工作流ACTIVITI5.x的源码框架支持大数据量(历史表单表数据达到10亿), 方案暂定为 1.使用动态数据源 2.将工作流归档历史数据数据保存到一个库中这里定义为读库, 3.在办办件的数据单独一个库…...

相关性网络图 | 热图中添加显著性

一边学习,一边总结,一边分享! 本期教程 写在前面 此图是一位同学看到后,想出的一期教程。 最近,自己的事情比较多,会无暇顾及社群和公众号教程。 1 安装和加载相关的R包 library(ggraph) library(tidy…...

cocosCreator 之 微信小游戏授权设置和调用wxAPI获取用户信息

版本: 3.8.0 语言: TypeScript 环境: Mac 官方文档: 微信官方文档 - 开放能力 微信 API 小游戏环境 在cocosCreator的3.x版本项目开发中,TypeScript最终会被转换为JavaScript语言。 JavaScript的运行时调用的API…...

element ui el-table表格纵向横向滚动条去除并隐藏空白占位列

需求 当table内容列过多时,可通过height属性设置table高度以固定table高度、固定表头,使table内容可以滚动 现在需求是右侧滚动条不好看,需要去除滚动条,并隐藏滚动条所占列的位置 // ----------修改elementui表格的默认样式-…...

防止python进程重复执行

前言 通过保存的进程pid查询上次执行的进程是否退出,决定是否启动新的python进程 代码 pidOption.py import os import psutil pidPath = "saveFile.pid"#写入进程号 def writePid():pid = str(os.getpid())f = open(pidPath, w)f.write(pid...

LV.12 D13 C工程与寄存器封装 学习笔记

一、C语言工程简介 把模板在linux解压出来 代码写在interface.c就可以了。 map.lds是链接脚本文件(负责代码的排布) include中是头文件,src中是写好的源代码 start.s是启动代码,在interface.c之前运行,把cpu和栈做一…...

Java SE 学习笔记(十九)—— XML、设计模式

目录 1 XML1.1 XML 概述1.2 XML 语法规则1.3 XML 文档约束(了解)1.3.1 DTD 约束1.3.2 schema 约束 2 XML 解析2.1 XML 解析概述2.2 Dom4J 解析 XML 文件2.3 XML 解析案例 3 XML 检索4 设计模式4.1 工厂模式4.2 装饰模式 1 XML 在有些业务场景下&#xff…...

grafana InfluxDB returned error: error reading influxDB 400错误解决

问题: 如图提示错误解决 确认自己的docker容器是否配置了以下3个字段 DOCKER_INFLUXDB_INIT_USERNAMExxx DOCKER_INFLUXDB_INIT_PASSWORDyyy DOCKER_INFLUXDB_INIT_ADMIN_TOKENzzz 如果有,在grafana中需要添加header配置Header: Authorization , Value…...

【LeetCode:150. 逆波兰表达式求值 | 栈】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…...

什么是神经网络,它的原理是啥?(2)

参考:https://www.youtube.com/watch?vmlk0rddP3L4&listPLuhqtP7jdD8CftMk831qdE8BlIteSaNzD 视频3:什么是激活函数?为什么我们需要激活函数?它的类型有哪些? 为什么需要激活函数?如果没有激活函数&…...

leetcode做题笔记206. 反转链表

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1]示例 2: 输入:head [1,2] 输出:[2,1]示例 3: 输入&am…...

2023/10/31 JAVA学习

idea一般会自动帮我们导包 new string创建出的字符串是空的,可以对其进行新赋值 s[i]在Java字符串中是没有这个东西的,想要遍历字符串只能用下面这种方式 但是可以把字符串,转换为字符数组然后那样输出 java中是无法s1 s2这样比较字符串的,因为这样比较的是地址,如果是new创建…...

SurfaceFliger绘制流程

前景提要: 当HWComposer接收到Vsync信号时,唤醒DisSync线程,在其中唤醒EventThread线程,调用DisplayEventReceiver的sendObjects像BitTub发送消息,由于在SurfaceFlinger的init过程中创建了EventThread线程&#xff0c…...

系统架构设计师-第14章-云原生架构设计理论与实践-

云原生架构产生背景 云原生与商业场景的深度融合 ( 1 )从为企业带来的价值来看,云原生架构有着以下优势通过对多元算力的支持,满足不同应用场景的个性化算力需求,井基于软硬协同架构,为应用提供极致性能的云原生算力 (2) 通过最…...

conda 实践

1. 环境部署 1.1. 下载 anaconda 安装包 下面这个网址查找自己需要的版本 https://repo.anaconda.com/archive/ 或者手动下载。 wget https://repo.anaconda.com/archive/Anaconda3-5.3.0-Linux-x86_64.sh 1.2. 执行安装程序 #安装依赖: sudo yum install bzip2…...

行业追踪,2023-10-31

自动复盘 2023-10-31 凡所有相,皆是虚妄。若见诸相非相,即见如来。 k 线图是最好的老师,每天持续发布板块的rps排名,追踪板块,板块来开仓,板块去清仓,丢弃自以为是的想法,板块去留让…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查

在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南

🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...

在WSL2的Ubuntu镜像中安装Docker

Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...

Java多线程实现之Thread类深度解析

Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...

Mac下Android Studio扫描根目录卡死问题记录

环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...

Python 包管理器 uv 介绍

Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...

LRU 缓存机制详解与实现(Java版) + 力扣解决

📌 LRU 缓存机制详解与实现(Java版) 一、📖 问题背景 在日常开发中,我们经常会使用 缓存(Cache) 来提升性能。但由于内存有限,缓存不可能无限增长,于是需要策略决定&am…...

华为OD机试-最短木板长度-二分法(A卷,100分)

此题是一个最大化最小值的典型例题, 因为搜索范围是有界的,上界最大木板长度补充的全部木料长度,下界最小木板长度; 即left0,right10^6; 我们可以设置一个候选值x(mid),将木板的长度全部都补充到x,如果成功…...

【SpringBoot自动化部署】

SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一,能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时,需要添加Git仓库地址和凭证,设置构建触发器(如GitHub…...