使用函数封装-公司自动化处理文件备份管理脚本

简介:
#!/bin/bash

srcPath=""
dstPath=""

ErrMsg="Yout enter the directory or file dose not exist. "
DstDirMsg="Please input destination dircetory"
SrcFilesMsg="Please input source dircetory or file."
DstFilesMsg="Delete the file or dircetory. "
DirFileMsg=""

function inputSourcePath(){
while true
do

        echo $DirFileMsg
        read srcPath
        if [  -d $srcPath -o -f $srcPath  ]; then

                if [ -e $srcPath ]; then
                        break
                fi

        fi
        echo "$ErrMsg"

done
}

function inputDstPath(){
while true
do
        echo $DstDirMsg
        read dstPath
        if [  -d $dstPath -a -e $dstPath ]; then

                break
        fi
        echo "$ErrMsg"
done
}

function copy(){
while true
do
        inputSourcePath
        inputDstPath


        if [  $srcPath != $dstPath  -a  -d $srcPath  ]; then
                break

        elif [ -f $srcPath -a  `dirname $srcPath` != $dstPath ]; then
                break

        fi

        echo "The source and destination cannot be the same! Please input again"

done

cp -a  $srcPath $dstPath
echo "The files have been susscessfully copied."

}

function delete(){

        inputSourcePath

        echo "Proceed with removal? y"
        read yn
        if [ $yn == "y" ]; then
                rm -rf $srcPath
                echo "sussessfully delete!"
        fi

}


function backup(){

        inputSourcePath
        inputDstPath

        backName=`date -d today +%Y%m%d%H%M%S`
        cd $dstPath
        tar -czvf  "$backName.tar.gz" $srcPath
        echo "A successful backup to $dstPath/$backName.tar.gz"
}


while true
do

echo "*******************************************"
echo " 1 Copy"
echo " 2 Delete"
echo " 3 Backup"
echo " 4 Quit "
echo "*******************************************"


read op

case $op in
        1)
        echo "You selection is Copy"
        DirFileMsg=$SrcFilesMsg
        copy
        read -p "Press any key to continue..."
        clear
        ;;
        2)
        echo "You selection is delete"
        DirFileMsg=$DstFilesMsg
        delete
        read -p "Press any key to continue..."
        clear
        ;;
        3)
        echo "You selection is Back"
        DirFileMsg=$SrcFilesMsg
        backup
        read -p "Press any key to continue..."
        clear
        ;;
        4)
        echo "Exit..."
        break
        ;;
        *)
        echo "Error! invalide selection, try again"
        ;;
esac

done



本文转自 维度2018 51CTO博客,原文链接:http://blog.51cto.com/xinsz08/1915939,如需转载请自行联系原作者

相关文章
|
Java 测试技术 数据安全/隐私保护
通过yaml文件配置自动化测试程序
通过yaml文件可以将自动化测试环境,测试数据和测试行为分开,请看一下案例
484 4
|
人工智能 监控 Kubernetes
77_自动化脚本:Makefile与Airflow
在当今AI大模型时代,高效的工作流管理对于模型训练、推理和部署至关重要。随着大模型规模的不断增长和复杂度的提升,传统的手动脚本管理方式已无法满足需求。自动化脚本和工作流调度系统成为构建健壮、可重复、可扩展的LLM Pipeline的关键工具。其中,Makefile作为经典的自动化构建工具,与Airflow作为现代工作流调度平台的结合,为LLM开发团队提供了强大的工作流管理能力。
304 0
|
机器学习/深度学习 Kubernetes 监控
Kubernetes 节点故障自愈方案:结合 Node Problem Detector 与自动化脚本
本文深入探讨了Kubernetes节点故障自愈方案,结合Node Problem Detector(NPD)与自动化脚本,提供技术细节、完整代码示例及实战验证。文章分析了硬件、系统和内核层面的典型故障场景,指出现有监控体系的局限性,并提出基于NPD的实时事件捕获与自动化诊断树的改进方案。通过深度集成NPD、设计自动化修复引擎以及展示内核死锁恢复的实战案例,文章详细说明了自愈流程的实现步骤与性能优势。此外,还提供了生产环境部署指南、高可用架构设计及安全防护措施,并展望了机器学习增强故障预测和混沌工程验证的进阶优化方向。全文约1.2万字,适合希望提升Kubernetes集群稳定性的技术人员阅读。
926 2
|
传感器 人工智能 JavaScript
Playwright实战:写UI自动化脚本,速度直接起飞
简介: 测试工程师老王因UI自动化问题深夜奋战,反映出传统测试工具的局限性。微软开源的Playwright凭借智能等待、跨域操作、移动端模拟与网络拦截等强大功能,正迅速取代Selenium,成为新一代自动化测试标准。其稳定高效的设计显著降低维护成本,助力企业构建高质量测试流程。
|
Web App开发 人工智能 JSON
AutoMouser:AI Chrome扩展程序,实时跟踪用户的浏览器操作,自动生成自动化操作脚本
AutoMouser是一款Chrome扩展程序,能够实时跟踪用户交互行为,并基于OpenAI的GPT模型自动生成Selenium测试代码,简化自动化测试流程。
1494 17
AutoMouser:AI Chrome扩展程序,实时跟踪用户的浏览器操作,自动生成自动化操作脚本
|
关系型数据库 Shell 网络安全
定期备份数据库:基于 Shell 脚本的自动化方案
本篇文章分享一个简单的 Shell 脚本,用于定期备份 MySQL 数据库,并自动将备份传输到远程服务器,帮助防止数据丢失。
|
12月前
|
数据采集 运维 监控
爬虫与自动化技术深度解析:从数据采集到智能运维的完整实战指南
本文系统解析爬虫与自动化核心技术,涵盖HTTP请求、数据解析、分布式架构及反爬策略,结合Scrapy、Selenium等框架实战,助力构建高效、稳定、合规的数据采集系统。
1489 62
爬虫与自动化技术深度解析:从数据采集到智能运维的完整实战指南
|
运维 Linux 网络安全
自动化真能省钱?聊聊运维自动化如何帮企业优化IT成本
自动化真能省钱?聊聊运维自动化如何帮企业优化IT成本
359 4

热门文章

最新文章