功能 将当前目录下文件拷贝至另一目录下,且拷贝前先备份

#!/bin/sh
#脚本功能
#覆盖文件前先备份
cfsuffix=$(date +%Y%m%d); #备份文件后缀
if [ $# -lt ]; then #输入参数说明
echo "error...need args\n"
echo "eg:path1 path2"
echo "path1 files backup and copy to path2"
exit
else
path1=$;
path2=$;
echo $path1;
echo $path2;
#if [ [ -d "$path1" ] && [ -d "$path2" ] ]; then
if [ -d "$path1" -a -d "$path2" ]; then
ls $path1 | awk -F'[ ]' '{print $1}' | while read filename
do
sfile=$path1'/'$filename; #源文件
pfile=$path2'/'$filename; #需备份文件
cfile=$path2'/'$filename'.'$cfsuffix; #备份后文件
if [ -f $sfile ]; then
if [ -f $pfile ]; then
cp $pfile $cfile && a= || a=;
if [ $a -eq ]; then
echo $filename "backup success!";
cp $sfile $path2;
else
echo $filename "backup error!"
fi
else
echo $pfile "not find!";
cp $sfile $path2;
fi
fi
done
else
echo "error...args path not find!";
fi
fi

shell 实用脚本的更多相关文章

  1. shell 实用脚本2

    脚本功能 拷贝文件夹 及 子文件夹内文件  到 对应的 文件结构下 ,且拷贝前先进行备份 #!/bin/sh #create by lizr -- #脚本功能 #覆盖文件前先备份 cfsuffix=$ ...

  2. shell及脚本4——shell script

    一.格式 1.1 开头 必须以 "# !/bin/bash"  开头,告诉系统这是一个bash shell脚本.注意#与!中间有空格. 二.语法 2.1 数值运算 可以用decla ...

  3. 【Telnet】使用Telnet协议连接到远程Shell执行脚本

    介绍 本文介绍如何通过Telnet协议连接到远程Shell,执行脚本,并获取执行结果: 相关文章: <[Jsch]使用SSH协议连接到远程Shell执行脚本>http://www.cnbl ...

  4. QL Server 实用脚本

    use MyFirstDB; -- 主要内容 -- SQL Server 实用脚本 -- 1.case语句 -- 2.子查询 -- 3.连接查询 -- 4.脚本变量与流程控制(选择与循环等) -- 5 ...

  5. shell自动计算脚本

    shell自动计算脚本 #!/bin/bash echo $(($)) [root@bogon ~]# sh b.sh 123+123246 let用户声明这个操作是要计算,后者的效率更高 (expr ...

  6. Shell菜单脚本

    今天在这儿给大家分享一个我简单编写的Shell菜单脚本,傻瓜式的人机交互,人人都可以操作linux. #!/bin/sh #Shell菜单演示 function menu () { cat <& ...

  7. shell常见脚本30例

    shell常见脚本30例 author:headsen chen  2017-10-19  10:12:12 本文原素材出自网上,特此申明.有些地方加入我自己的改动 常见的30例shell脚本 1.用 ...

  8. shell常用脚本

    shell常用脚本 author:headsen chen  2017-10-17 15:36:17 个人原创,转载请注明,否则依法追究法律责任 1,vim  name.grep.sh 2,cat   ...

  9. 一篇关于Maven项目的jar包Shell启动脚本

    使用Maven作为项目jar包依赖的管理,常常会遇到命令行启动,笔者也是哥菜鸟,在做微服务,以及服务器端开发的过程中,常常会遇到项目的启动需要使用main方法,笔者潜心的研究了很多博客,发现大多写的都 ...

随机推荐

  1. Computed Styles

    The style object offers no information about the styles that have cascaded from style sheets and aff ...

  2. Ubuntu上挂载源代码,docker容器中共享这个原代码,实现自动部署

    https://www.jianshu.com/p/23465dc86d3e   地址 5.3. 挂载源代码 为了在宿主机上创建.NET Core 项目,这个时候我们就需要在Linux宿主机上安装.N ...

  3. .net core中读取配置文件

    1)先看丑陋的方法 读取 appsettings.json   然后在 Startup 的 ConfigureServices() 方法中进行注入: public IConfigurationRoot ...

  4. python基础知识(列表详解)

    列表(list) 列表中可以存入整数.实数.布尔值.字符串.序列.对象 可变序列 列表  []  元素间隔用   ,号分隔 列表的创建和删除 使用赋值运算符直接创建列表 listname = [元素1 ...

  5. IDEA 控制台中文乱码的问题

    -Dfile.encoding=UTF-8

  6. 网页设计——HTML(3)布局基础

    为什么要布局? 网页布局,也就是如何安排网页的内容. 一个好的网页布局能够使人眼前一亮,吸引流量. 本篇文章中我们不讨论相关的设计理论,我们只对布局所用到的HTML知识进行学习. 几种简单的布局方式 ...

  7. 【DSP开发】C6000非多核非KeyStone系列DSP中断系统

    C6000系列DSP的中断系统 上一篇介绍了C6455的GPIO系统,最后把GPIO4配置成了中断/事件模式,本文将介绍C6455的中断系统,介绍完基本概念后,给出把GPIO4映射到INT4的代码. ...

  8. 解决网页ICON图标无法显示的问题

    第一步:检查下“<link rel="shortcut icon" href="http://www.bhcode.net/favicon.ico" ty ...

  9. Akka简介与Actor模型(一)

    前言...... Akka是一个构建在JVM上,基于Actor模型的的并发框架,为构建伸缩性强,有弹性的响应式并发应用提高更好的平台.本文主要是个人对Akka的学习和应用中的一些理解. Actor模型 ...

  10. 【2019V2全新发布】ComponentOne .NET开发控件集,新增.NET Core数据引擎

    ComponentOne .NET开发控件集 2019V2正式发布,除持续完善并加入全新的.NET开发控件外,还针对产品架构稳定性.易用性.与.NET Core平台深度集成.已有控件功能增强等多个方面 ...