linux脚本

linux定时执行shell脚本

こ雲淡風輕ζ 提交于 2019-12-17 16:44:44
在oracle 中可以利用dbms_job包定时执行pl/sql、sql过程,在像备份等需要在操作系统级定时任务只能采用crontab来完成。 利用crontab来定时执行任务大致有如下三步: 1、编写shell脚本 2、利用crontab加入到定时任务队列 3、查看作业完成情况 一、如何建立shell脚本 Linux下有很多不同的shell,但我们通常使用bash(bourne again shell)进行编程,因为bash是免费的并且很容易使用 程序必须以下面的行开始(必须方在文件的第一行): #! /bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。 当编辑好脚本时,要想执行脚本,必须使脚本可以执行 下面的命令,可以使脚本可以执行 chmod +x filename 然后可以输入./filename来执行脚本。 注:在shell编程时,#符号表示注释,只该行结束为止。在编写程序时,最好使用注释。 变量 shell下所有变量都以字符串表示,变量不需要声明,直接使用。直接对变量进行赋值 A="hello world" 取出变量用$符号,如: #! /bin/sh A="hello world" echo "A is:" echo $A 执行该脚本输出结果如下: A is : hello world shell

ssh 远程执行命令

谁说胖子不能爱 提交于 2019-12-17 12:58:45
SSH 是 Linux 下进行远程连接的基本工具,但是如果仅仅用它来登录那可是太浪费啦!SSH 命令可是完成远程操作的神器啊,借助它我们可以把很多的远程操作自动化掉!下面就对 SSH 的远程操作功能进行一个小小的总结。 远程执行命令 如果我们要查看一下某台主机的磁盘使用情况,是不是必须要登录到目标主机上才能执行 df 命令呢?当然不是的,我们可以使用 ssh 命令在远程的主机上执行 df 命令,然后直接把结果显示出来。整个过程就像是在本地执行了一条命令一样: $ ssh nick@xxx.xxx.xxx.xxx "df -h" 那么如何一次执行多条命令呢?其实也很简单,使用分号把不同的命令隔起来就 OK 了: $ ssh nick@xxx.xxx.xxx.xxx "pwd; cat hello.txt" 第一条命令返回的结果: /home/nick 这说明用这种方式执行命令时的当前目录就是登陆用户的家目录。 第二条命令返回 hello.txt 文件的内容。 注意,当命令多于一个时最好用引号括起来,否则在有的系统中除了第一个命令,其它都是在本地执行的。 执行需要交互的命令 有时候我们需要远程执行一些有交互操作的命令。 $ ssh nick@xxx.xxx.xxx.xxx "sudo ls /root" $ ssh nick@xxx.xxx.xxx.xxx "top"

大数据技术之Shell

…衆ロ難τιáo~ 提交于 2019-12-17 04:14:29
Shell概述 Shell解析器 【Linux提供的Shell解析器】 【bash和sh的关系】 【CentOS默认的解析器】 Shell脚本入门 1、脚本格式 脚本以【 #!/bin/bash 】或者【 #!/bin/env bash 】开头 2、第一个脚本:Hello World ①创建一个Shell脚本文件,后缀名称为【.sh】 可以直接使用【 VIM编辑器 】直接创建并编辑Shell脚本文件 【 推荐使用 】 也可以通过【 touch 】命令创建Shell脚本文件之后再编辑脚本。 ②编辑Shell脚本文件 ③运行Shell脚本文件 脚本常用的执行方式 第一种:采用bash或sh+脚本的相对路径或绝对路径(不用赋予脚本+x权限) 【 推荐使用 】 ①sh+脚本的相对路径 ②sh+脚本的绝对路径 ③bash+脚本的相对路径 ④bash+脚本的绝对路径 第二种:采用输入脚本的绝对路径或者相对路径执行脚本 (必须具有可执行权限+x,推荐采用这种方式) ①赋予权限:chmod +x Shell脚本 ②相对路径执行:./脚本 ③绝对路径执行:/用户/目录/脚本 3、第二个Shell脚本:多命令处理 ①需求:在/home/demo/目录下创建一个test.txt,在test.txt文件中添加"I love you"。 ②案例实操: a、创建脚本 b、编辑脚本 c、执行脚本 d

shell基础、变量、相关脚本

倖福魔咒の 提交于 2019-12-16 14:19:09
目录 一、shell基础 书写规范 引号 配置文件 read交互 脚本调式 小节总结 二、变量 变量类型 位置变量 状态变量 替换和删除 变量补充 变量运算 小节总结 三、相关脚本面试题 统计history的top10 备份 内存用量报警 取各种值 无聊的题目 反复更名 我叫张贺,贪财好色。一名合格的LINUX运维工程师,专注于LINUX的学习和研究,曾负责某中型企业的网站运维工作,爱好佛学和跑步。 个人博客: 传送阵 笔者微信: zhanghe15069028807 ,非诚勿扰。 一、shell基础 书写规范 脚本要放在同一个目录里面: /server/scripts 开头加解释器 脚本的注释尽量全面:作者、用途、创建时候,联系方式 尽量全部使用英文,逼格整的高高的。 成对的符号,成对的格式一次性写完。 引号 双引号:会翻译变量 单引号:所见即所得 反引号:赋值命令的结果,而不是赋值命令,可用 $() 代替。 //这脚本执行为空 [root@nginx tmp]# vim test.sh #!/bin/bash start=`systemctl start nginx` #这里用的是反引号,这条命令执行的结果就是空的,start也是空的。 $start //这样才正常 [root@nginx tmp]# vim test.sh #!/bin/bash start=

脚本怎么写???

旧时模样 提交于 2019-12-16 13:43:16
在MICAS的这段时间,我深刻体会到了Linux系统与写脚本做仿真、做综合、做分析的重要性,对于一个硬件开发者而言,学会Linux系统的操作也是以编写脚本、运行脚本为目的的。这篇随笔我会记录一些最基本的Linux命令,以及四种脚本的使用方法以及一些实例。 想系统学习可以上这个网: https://www.runoob.com/linux/linux-tutorial.html ,但我建议先了解然后现学现用 什么是Shell Shell是一个应用程序,连接了用户和linux内核,shell在开机时就会启动等待接收命令并作出响应,相当于一个解释器,解释用户的指令,直观来看就是命令窗口。个人理解是,windows也有类似shell的应用程序,只不过windows中的shell做成了gui的形式,只需要用鼠标点一点就输入一个shell指令打开网页或是打开应用程序。 Bash Shell:打开linux的命令窗口就相当于进入了bash shell,也是linux中缺省的shell,我们键入的命令都是由bash shell解释器解释给内核并完成操作的。 cd <folder name>:进入目录;ls:展示当前窗口的文件;rm <file name>:删除文件;rm -rf <folder name>:删除文件夹;mkdir<folder name>:创建文件夹。 vim/kate <file

shell脚本

倾然丶 夕夏残阳落幕 提交于 2019-12-16 03:09:27
上面我们了解了linux基本命令,现在开始学习shell脚本 首先,shell脚本文件后缀名为‘.sh’ 一、变量 变量分为全局环境变量和局部环境变量,系统有一些定义好的全局环境变量。 m_var=abc #这里定义一个局部变量名为m_var且值为abc,注意定义变量赋值时“=”两边不允许有空格 export m_var #使用export 将m_var局部变量编程全局变量 二、使用变量(引用变量) echo "$m_var" #输出abc,如果不使用'$',那么将输出m_var字符串 #当变量名与其他字符串连在一起时,可以按如下方法区分 echo "${m_var}bbbb" #输出abcbbbb,使用{}可以明确变量名的范围 三、命令替换 ``: m_var1=`pwd` #将命令pwd命令结果给变量m_var1 $():m_var2=$(pwd) #同上 四、表达式([[表达式]]、[表达式]、((表达式))) [表达式]:如, var1=$[1*3] #[]里的表达式很随意,没有对空格有约束[ 1* 3 ]也对。但是用到if-then的test判断里时,就不能随意了,如: if [ 1*3 ];then #[ 1*3 ]和[ 0 ]都是非0表达式 echo "1*3" fi #结果输出1*3,在[]用作if-then判断里时,'['后面必须跟一个空格,‘]’前面也必须跟空格

shell脚本问题汇总

一世执手 提交于 2019-12-16 01:45:05
1.Shell语言是什么类型的语言? SHELL语言是指UNIX操作系统的命令语言,同时又是该命令语言的解释程序的简称。 Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。 它虽然不是Unix/Linux系统内核的一部分,但它调用了系统核心的大部分功能来执行程序、建立文件并以并行的方式协调各个程序的运行。因此,对于用户来说,shell是最重要的实用程序,深入了解和熟练掌握shell的特性极其使用方法,是用好Unix/Linux系统的关键。 2.Shell语言的执行方式有哪些? bash script-name 或者 sh script-name;   这是当脚本文件本身没有可执行权限(即文件权限属性x位为-号)时常使用的方法,或者脚本文件开头没有指定解释器时需要使用的方法。 推荐使用这种方法 。 path/script-name或者./script-name; 指在当前路径下执行脚本(脚本需要有执行权限),需要将脚本文件的权限改为可执行(即文件权限属性为x位)。具体方法为:chmod a+x script-name

sh文件、shell、shell脚本、bat文件、batch、bat脚本

随声附和 提交于 2019-12-16 01:24:38
1.shell(壳) shell是一个shell脚本解释器,是一个运行在Linux系统下的批处理脚本解释器,通过这个窗口建立用户和Linux系统底层提供的一系列方法的交互; .sh就是一种运行在Linux系统下的文件,文件中存储的shell脚本; 2.batch(批处理) 个人理解,batch和shell类似,只不过其运行在windows环境下; .bat文件就是运行在windows环境下的文件,其中存储了系列的batch脚本命令; 来源: CSDN 作者: zhanghuaichao 链接: https://blog.csdn.net/zhanghuaichao/article/details/103507817

Shell编程—控制脚本

浪子不回头ぞ 提交于 2019-12-15 21:42:04
1 处理信号 1.1 信号表 编号 信号名称 缺省操作 解释 1 SIGHUP Terminate 挂起控制终端或进程 2 SIGINT Terminate 来自键盘的中断 3 SIGQUIT Dump 从键盘退出 4 SIGILL Dump 非法指令 5 SIGTRAP Dump 跟踪的断点 6 SIGABRT Dump 异常结束 6 SIGIOT Dump 等价于SIGABRT 7 SIGBUS Dump 总线错误 8 SIGFPE Dump 浮点异常 9 SIGKILL Terminate 强迫进程终止 10 SIGUSR1 Terminate 对进程可用 11 SIGSEGV Dump 无效的内存引用 12 SIGUSR2 Terminate 对进程可用 13 SIGPIPE Terminate 向无读者的管道写 14 SIGALRM Terminate 实时定时器时钟 15 SIGTERM Terminate 进程终止 16 SIGSTKFLT Terminate 协处理器栈错误 17 SIGCHLD Ignore 子进程停止、结束或在被跟踪时获得信号 18 SIGCONT Continue 如果已停止则恢复执行 19 SIGSTOP Stop 停止进程执行 20 SIGTSTP Stop 从tty发出停止进程 21 SIGTTIN Stop 后台进程请求输入 22

Shell编程—呈现数据

三世轮回 提交于 2019-12-15 20:04:09
1. 标准文件描述符 Linux用文件描述符(file descriptor)来标识每个文件对象。文件描述符是一个非负整数,可以唯一标识会话中打开的文件。每个进程一次 多可以有九个文件描述符。出于特殊目的,bash shell保留了前三个文件描述符(0、1和2): 文件描述符 缩 写 描 述 0 STDIN 标准输入 1 STDOUT 标准输出 2 STDERR 标准错误 1. STDIN : 代表shell的标准输入。对终端界面来说,标准输入是键盘。 2. STDOUT : STDOUT文件描述符代表shell的标准输出。在终端界面上,标准输出就是终端显示器。 3. STDERR : STDERR文件描述符处理错误消息。STDERR文件描述符代表shell的标准错误输出。 1.1 重定向错误 1. 只重定向错误 $ ls -al test badtest test2 2> test5 -rw-rw-r-- 1 rich rich 158 2014-10-16 11:32 test2 $ cat test5 ls: cannot access test: No such file or directory ls: cannot access badtest: No such file or directory 2. 重定向错误和数据 $ ls -al test test2