liunx 备份文件脚本、还原文件脚本、替换文件脚本

news/2024/12/19 6:47:08/

最近项目中有这个业务,需要编写脚本文件以实现各种需求。由于我已经很长时间没有写过脚本了,因此我决定记录下这个过程,以便将来有类似的需求时可以参考。

   在开始编写脚本之前,我首先对业务需求进行了深入的分析和理解。我了解了项目的背景、目标以及具体的功能需求,以便能够编写出符合要求的脚本。同时,我也参考了一些类似的脚本文件,从中汲取了一些有用的经验和技巧。

1.备份文件脚本

#备份脚本    
#!/bin/bash 
#***************************************************** 
# 脚本用到的参数  
#*************************************************** 
# --1  日期 
time=`date +"%Y-%m-%d %H:%M:%S"`
timestamp=`date +%Y%m%d` 
DATE=`date +"%Y-%m-%d"`
# --2  源介质存放路径 介质名称
backupDir=/data/you/lib/
backName_jar=you.jar
# 建议输出系统日期、应用系统名称、本次服务名称、发布批次等信息到日志文件 
# 其中脚本内容尽量不要出现汉字, 
# 输出应用系统时间到日志 
echo "===============SystemTime:  $time============= "  
# 输出应用系统名称到日志 
echo "===============AppName:  ================ "  
# 输出本次服务名称到日志 
echo "===============ServiceNme :  ================="  
echo "************************************"  
echo "****   starting backup   ***" 
echo "***************************" 
# 备份jar 包 
echo "***# 1.backup  $backName_web to $backupDir ****" 
# 可在脚本中直接使用该变量,无需用户定义,若用户需要自定义备份目录,则需重新定义参数 cd $backupDir/
cp   $backName_jar  $backName_jar$timestamp echo  "***********************************" if [ $? != 0 ]; then echo `date +"%Y- %m- %d %H:%M:%S"`" Backup fail "  
# 通过返回码判断命令是否执行成功,备份失败返回码152  其返回码由发布管理员自行定义、维
# 护、解读   
exit 152  fi 
cd   $backupDir 
ls  -lrt $backupDir 
echo "*********************backup success ***********" 
exit 0    

2.还原备份脚本文件

#!/bin/bash
#***************************************************************
#脚本名称: mv.sh
#从sftp服务器上下载版本包,本脚本仅提供下载某个文件,如有特殊需求,请发布管理员自行修改脚本
#参数说明,各个参数需要在参数定义、参数维护模块预先设定好:
# 源介质存放路径
packagesDir=/data/you/lib/
backName_jar=you.jar
timestamp=$(date +'%Y%m%d')#***************************************************************
cd $packagesDirif [[ -f $backName_jar${timestamp} ]];thenecho "*******************  found  $backName_jar${timestamp} start backUpdate***************"  cp  $backName_jar  $backName_jar$timestamp 
elseecho "******************* not found  $backName_jar${timestamp} *********************************"exit 152
ficd $packagesDir
mv -f $backName_jar$timestamp  $backName_jarecho "******************* mv sucess ***************" if [ $? != 0 ];then echo " ***** Error*** "  # 执行发布命令执行失败,其返回码由发布管理员自行定义、维护、解读 exit 155  
elseecho " ***** Sucess*** "exit 0fi

3.替换文件脚本

#替换文件脚本 
#!/bin/bash 
#*************************************************************** 
# 系统名称: l系统 
# 脚本功能:  移动备份文件到NAS服务器 
#*************************************************************** # 源介质存放路
packagesDir=/data/
packagesName=you.jar
bakckUpFile=/data/you/lib/# --1 日期 
time=`date +"%Y-%m-%d"` 
date=$(date +'%Y%m%d')cd $packagesDir
cp -f $packagesName  $bakckUpFile echo  "***********************************" if [ $? != 0 ]; then echo `date +"%Y- %m- %d %H:%M:%S"`" replaceup fail "  
# 通过返回码判断命令是否执行成功,替换失败返回码153  其返回码由发布管理员自行定义、维
# 护、解读   
exit 153  fi 
cd   $bakckUpFile 
ls  -lrt $bakckUpFile 
echo "*********************replaceup success ***********" 
exit 0    


http://www.ppmy.cn/news/1344257.html

相关文章

华清作业day53

1.c代码&#xff1a; #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/ipc.h> #include <sys/msg.h> #include <string.h> #include <unistd.h> #include <sys/wait.h> struct msgbuf{long in…

使用MATLAB驱动USRP-N320实现OFDM自收自发

文章目录 前言一、收发代码二、截取一帧 OFDM三、执行主函数四、运行结果五、资源自取 前言 本文作为实验结果记录及测试&#xff0c;方便后面回顾所做的工作。本文基于一台电脑和一台 USRP 设备实现了 OFDM 自发和自收功能 一、收发代码 ofdm_tx_rx_test.m 核心代码&#x…

ArrayList和LinkedList的区别是什么

ArrayList 和 LinkedList 分别代表了两类不同的数据结构&#xff1a;动态数组和链表。它们都实现了 Java 的 List 接口&#xff0c;但是有着各自独特的特点和性能表现。 1. 数据结构 ArrayList 是基于可调整大小的数组实现的。它允许快速随机访问&#xff0c;因为内部元素可通…

体悟PyTorch的优雅

——PyTorch 是所有的框架中面向对象设计的最优雅的一个。 —— PyTorch的设计最符合人们的思维。 编程是一门艺术&#xff0c;编程可以很优雅。研究可以很优雅&#xff0c;研发也可以很优雅。我们的人生可以很优雅&#xff01; 1. PyTorch 的优雅 PyTorch 的面向对象设计确实…

Mybatis中的sql-xml延迟加载机制

Mybatis中的sql-xml延迟加载机制 hi&#xff0c;我是阿昌&#xff0c;今天记录一下关于Mybatis中的sql-xml延迟加载机制 一、前言 首先mybatis技术本身就不多介绍&#xff0c;说延迟加载机制之前&#xff0c;那要先知道2个概念&#xff1a; 主查询对象关联对象 假设咱们现…

鸿蒙4.0.0 安装minitouch

鸿蒙4.0.0 安装minitouch ubuntu 系统 minitouch 地址 https://github.com/DeviceFarmer/minitouch 因为 鸿蒙4.0.0 对应安卓12 API版本31 所以启动 minitouch 需要 STFService 地址 https://github.com/openstf/STFService.apk 到release下载最新的STFService.apk &…

【DevOps】产品需求文档(PRD)与常见原型软件

文章目录 1、PRD介绍1.1、概述1.2、前提条件1.3、主要目的1.4、关键内容1.5、表述方式1.6、需求评审人员1.7、一般内容结构 2、需求流程3、常见原型软件3.1、Word3.2、Axure3.2.1、详细介绍3.2.2、应用分类3.2.3、优缺点 3.3、摹客RP3.4、蓝湖3.5、GUI Design Studio 1、PRD介绍…

[UI5 常用控件] 07.SplitApp,SplitContainer

文章目录 前言1. SplitApp1.1 组件结构1.2 Demo1.3 mode属性 2. SplitContainer 前言 本章节记录常用控件SplitApp&#xff0c;SplitContainer。主要功能是在左侧显示Master页面&#xff0c;右侧显示Detail页面。 Master页面和Detail页面可以由多个Page组成&#xff0c;并支持…