Linux编写简单的脚本

这篇具有很好参考价值的文章主要介绍了Linux编写简单的脚本。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

不管你负责的是商业环境还是家用的,丢失数据是不允许的,为了防止这种事情,那么要做的就是备份。这个时候制作一个存储文件的备份计划绝对不是简单的事情。
归档数据文件
你将linux系统作为一个重要的平台,可以创建一个shell脚本来自动获取特定目录的快照。在配置文件中指定所涉及的目录。
在Linux系统中,归档数据的主要工具是tar命令,tar命令可以将整个目录归档到单个文件中,下面的例子中是通过tar命令来创建工作目录归档文件。
tar -cf archive.tar /home/sap/projects/.
ls -l archive.tar
由于tar归档文件会消耗大量的磁盘空间,最好能够压缩一下该文件,这只需要加一个-z选项就行了。它会将tar归档文件压缩成。gzip格式的tar文件,这种文件也叫做tarball.然后用正确的扩展名来表示,用。tar.gz或者.tgz都行。下面的例子创建了项目目录tarball
tar -zcf archive.tar.gz /home/sap/projects
ls -l archive.tar.gz
现在你已经完成了归档脚本的主要部分。
你不需要为待备份的新目录或者文件修改或者编写新的归档脚本,而是可以借助于配置文件。配置文件应该包括你希望进行归档的每个目录文件。
cat Files_to_Backup
/home/dap/projects
/home/sap/downloads
/home/does_not_exist
/home/sap/documents
可以让脚本读取配置文件,然后将每个目录加到归档列表中,要实现这一点,只需要实现read命令。来读取这一条记录就好了。不过 不用像之前那样,。通过管道将cat命令输出传给while循环,在这个脚本中我们使用exec命令来重定向标准输入(STDIN)。用法如下:
exec < C O N F I G F I L E r e a d F I L E N A M E 注意,我们为归档配置文件使用了一个变量, C O N F I G F I L E 。配置文件中每一条记录都会被读入。只要 r e a d 命令在配置文件中发现还有记录可读,它就在变量中返回一个表示成功的退出状态 0. 可以将它作为 w h i l e 循环的测试条件来读取配置文件中所有记录。 w h i l e [ CONFIG_FILE read FILE_NAME 注意,我们为归档配置文件使用了一个变量,CONFIG_FILE。配置文件中每一条记录都会被读入。只要read 命令在配置文件中发现还有记录可读,它就在变量中返回一个表示成功的退出状态0.可以将它作为while循环的测试条件来读取配置文件中所有记录。 while [ CONFIGFILEreadFILENAME注意,我们为归档配置文件使用了一个变量,CONFIGFILE。配置文件中每一条记录都会被读入。只要read命令在配置文件中发现还有记录可读,它就在变量中返回一个表示成功的退出状态0.可以将它作为while循环的测试条件来读取配置文件中所有记录。while[? -eq 0]
do
[…]
read FILE_NAME
done
一旦read命令到了配置文件的末尾,就会返回一个非零状态码。这时脚本会退出while循环。
在while循环中,我们需要做两件事,首先,必须将目录名加到归档列表中,更重要的是要检查那个目录是否存在!很可能你从文件系统中删除一个目录却忘却了更新归档配置文件。
可以用简单的IF语句来检查目录是否存在与否。如果木存在,它会被加入要归档目录列表FILE_LIST中,否则就显示一条警告信息。if 语句如下。
if [-f $FILE_NAME -o -d $FILE_NAME]
then

if file exists,add its name to the list.

FILE_LIST=“$FILE_LIST KaTeX parse error: Expected 'EOF', got '#' at position 19: …E_NAME" ELSE #̲IF FILE DOOESN'…FILE_NAME,does not exist.”
echo"Obviously ,I will not include it in this archive."
echo"It is listed on line F I L E N O o f t h e c o n f i g f i l e . " e c h o " C o n t i n u i n g t o b u i l d a r c h i v e l i s t . . . " e c h o f i F I L E N O = FILE_NO of the config file." echo"Continuing to build archive list..." echo fi FILE_NO= FILENOoftheconfigfile."echo"Continuingtobuildarchivelist..."echofiFILENO=[$FILE_NO +1] #INCREASE LINE/FILE NUMBER BY ONE.
文章来源地址https://www.toymoban.com/news/detail-431839.html

到了这里,关于Linux编写简单的脚本的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Linux】编写一个 shell 脚本&执行

    在Linux中编写和执行脚本相对简单。下面是一个基本的步骤指南,帮助你创建一个简单的bash脚本并运行它: 1. 创建脚本文件 首先,你需要使用文本编辑器创建一个新的文件。这个文件通常会有 .sh 的扩展名,以表明它是一个shell脚本。例如,你可以创建一个名为 myscript.sh 的文

    2024年04月26日
    浏览(36)
  • Linux:编写编译脚本Makefile文件

    一、生成可执行文件 1、一个源文件编译 本例子主要区别.c及.cpp文件及编译该文件时使用的编译链。 1).c文件 2) .cpp文件 经过以上测试,总结如下: 以.cpp为后缀的文件,为c++代码。代码最好使用C++语言。也可以使用c语言。 a 代码使用c++语言,编译时必须要用g++,不能使用

    2024年02月11日
    浏览(36)
  • 使用 Google 的 zx 库编写切换微信小程序环境的脚本

    微信小程序目前为止还没有提供API或者具体的配置方式,给我们设置环境变量,所以还得自己想办法。 创建一个 shell 脚本——一个由诸如 Bash 或 zsh 之类的 shell 执行的脚本——可以是自动化重复任务的好方法。Node.js 似乎是编写 shell 脚本的理想选择,因为它为我们提供了许

    2024年02月16日
    浏览(43)
  • linux中编写.sh脚本并赋权限问题

    以项目启动、重启、终止脚本为例: 步骤: 首先 vi start.sh 、 vi restart.sh 、 vi stop.sh 或者使用 vim 编辑器; 编辑内容: 启动: vi start.sh 重启: vi restart.sh 关闭: vi stop.sh 保存并退出; chmod +x start.sh restart.sh stop.sh 赋予可执行权限; 输入 ./start.sh 、 ./restart.sh 、 ./stop.sh 执行脚

    2024年02月04日
    浏览(36)
  • Docker笔记-搭建Python环境、安装依赖、打包镜像、导入镜像、编写bash脚本灵活调用

    适合无联网的机器及多Python的机器进行部署。 有网络及有docker的,拉取指定版本的python如: 安装好后进入容器: 使用pip安装各种依赖: 千万不要退出,另外启动一个shell,查下目前运行的容器: 制作成新的镜像: 导出新镜像: 找到没联网有docker的机器,导入新的镜像 在新

    2024年02月21日
    浏览(50)
  • 【运维工程师学习三】Linux中Shell脚本编写

    Shell程序有很多, 如 Korn shell(ksh)、Bourne Again shell(bash)、C shell(包括csh与tcsh) 等等, 各主要操作系统下缺省的shell: AIX下是 Korn Shell Solaris缺省的是 Bourne shell FreeBSD缺省的是 C shell HP-UX缺省的是 POSIX shell Linux缺省的是 Bourne Again shell 但这种在命令行中的命令是即时输出结果的,不

    2024年02月11日
    浏览(71)
  • Linux下Python脚本的编写解析fio测试log(四)

    在我们平常的测试盘的过程中,fio是一款业界最为通用的工具,通过Fio可以只知道一个盘具体的带宽,iops,延迟等等.比如下面这段fio的log 这里边需要拿出log里的一些参数 做成表格 如下: 下面说下如何用Python解析log并做成表格 1 同样是用到Python中文件函数open,调用四个模块sy

    2024年02月08日
    浏览(45)
  • C语言,Linux,静态库编写方法,makefile与shell脚本的关系。

    静态库编写: 编写.o文件 gcc -c( 小写) seqlist.c(需要和头文件、main.c文件在同一文件目录下) libs.a- 去掉lib与.a剩下的为库的名称‘s’。 -ls 是指库名为s。 -L 库的路径。 makefile文件编写: 这个是编译后的文件,app文件为编译后的二进制文件。      makefile与shell脚本关系 shell 脚

    2024年02月12日
    浏览(36)
  • Linux【脚本 05】交互式shell脚本编写及问题处理([: ==: unary operator expected)[: ==: 期待一元表达式

    之前写了Windows的cmd脚本用来保存报告文件: 但是有时候服务仅在Linux环境上进行部署,所以要写一个shell脚本进行报告的保存。 2.1 初始版本 简单的参数判断,这里只给出一个分支,脚本save.sh内容如下: 此时如果执行脚本时没有携带参数,将会报错: 这个脚本的问题很多

    2024年02月09日
    浏览(47)
  • 【LInux】简单进度条程序的编写

    在进行进度条的程序的编写之前,还有几个问题需要解决。 第一个问题,先来看两段代码: 对比上面两段代码只有一个 n 的区别。 左边的代码很简单,就是先打印,然后停顿 3 秒,程序退出。 主要问题是,右边的代码,也实先打印,然后停顿 3 秒,程序退出吗? 答案显然

    2024年02月12日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包