昨晚到现在都一直在弄apache更新,由于机器数较多,又是单独操作,
所以特别慢。
终于在今日完成了更新……
总结一下写这个脚本所学习到的知识:
1、用ssh链接远程主机执行命令的时候,加上 -n 参数
ssh -n 192.168.1.100 "cd /home/admin;bash apache_fix.sh"
双引号里面接你要执行的命令,用分号隔开多条命令,双引号里面的单引号使用问题我还在摸索。。。
·如果你要执行的命令很多的话,最好是写在一个shell文件里面,scp到远程主机上执行。
2、重定向的问题
一个命令执行完之后打印的信息分为stdout和stderr,分别用 1 和 2 两个文件描述符来描述。
重定向一条命令的输入到文件里可以这样:
ls -al > output.log 2>&1 # 把ls -al的stdout输出到output.log文件里面,同时stderr也输入到这个文件,2>&1 即完成把stderr也输入到文件的功能。
当然,把 > 换成 >> 即转换为追加stdout到文件中
3、cp 覆盖问题
修改文件的时候,要先备份,在出错之后就cp备份覆盖掉出错的配置文件,有时候cp覆盖会提示你是否确认override,在shell里面你可以这样写:
yes | cp httpd.conf.bak.20110826 httpd.conf 即在提示你确认是否override的时候输入yes
借此跳过这个输入的挂起,不然脚本一直要等待输入,之后的语句就执行不了了。
4、一个应用的启动脚本,以及目录,还有所实用配置的目录很多时候都可以用ps命令来查看
比如 ps axu | grep 'httpd' 在最后的几栏你可以看到启动脚本的位置还有使用的什么配置文件(如果你启动的是用这个命令的话)
然后再使用 sed 或者 awk 来处理每一行和每一段字符,拿到想要的数据
总结:
1、修改任何一个重要的文件之前记得要备份。
2、把提示消息同时记录到日志里面。
3、判断出程序错误后,要把备份好的配置文件覆盖回去,还原环境。
4、多写程序,多思考。
(2011-08-26 19:38:27)
分享到:
相关推荐
### 小结 通过上述知识点的学习,我们可以了解到Bourne Shell不仅是Unix系统中的命令解释器,也是一种强大的脚本语言。掌握其基础语法和高级功能可以帮助我们更高效地管理Unix系统,实现自动化任务处理。
Unix Shell 提供了一系列特殊变量和参数,用于简化脚本编程中的常见任务。这些特殊参数包括但不限于 `$#`, `$-`, `$?`, `$$`, `$!`, `$@`, `$*` 以及 `$n` 等。它们各自具有独特的用途和应用场景,下面将逐一介绍。 ...
梁博shell脚本训练集训学习小结V0.11 在 Linux 操作系统中, shell 脚本是非常重要的一部分。shell 脚本可以帮助用户自动化repeatitive任务,提高工作效率。梁博shell脚本训练集训学习小结V0.11主要讲述了shell脚本...
和Java、PHP等语言不一样,sh的流程控制不... 代码如下: <?...if (isset($_GET[“q”])) { search(q); } else { //do nothing ...在sh/bash里可不能这么写,如果else分支没有语句执行,就不要写这个else,就像这样: ...
Shell脚本编程是Unix/Linux系统中用于自动化任务和系统管理的一种强大工具。它是一种基于文本的编程方式,由一系列的命令组成,这些命令可以直接在命令行中执行。在30分钟内入门Shell脚本编程,你需要了解以下几个...
**8.3 小结**:本章详细介绍了grep命令的使用方法及其与正则表达式的结合应用,帮助用户高效地进行文本搜索和过滤。 以上是对《Linux Shell 命令与脚本编程》知识点的详细梳理,覆盖了文件安全与权限管理、文件搜索...
3. **多文件处理**:如果需要处理多个脚本或输入文件,可以使用`gawk -f program-file1 -f program-file2 ... input-file1 input-file2 ...`。 **文件、记录与字段:** - **文件**:awk处理的是文本文件,通常包含...
在Shell脚本中逐行读取文件是一种常见的操作,下面我们将详细介绍四种不同的方法来实现这个操作。 方法一:使用输入重定向 使用输入重定向是逐行读取文件的最简单方法。在while循环中使用输入重定向,可以读取文件...
### Shell编程小结 在IT领域,特别是操作系统与脚本编程方面,Shell占据了举足轻重的地位。Shell作为用户与操作系统之间沟通的桥梁,在UNIX和Linux系统中扮演着核心角色。本文将深入探讨Shell编程的基础知识、核心...
**小结** 本章主要介绍了shell脚本的基础知识,包括编写脚本的原因、内容构成和执行方式。了解这些基础知识后,读者可以开始尝试编写和运行简单的shell脚本。在实践中,不断学习和优化脚本,使其更高效地完成任务。...
监控MySQL服务的运行状态通常需要借助脚本来实现,而Shell脚本是一种常见的实现方式。本文中,我们将通过几个实战模拟的例子,来讲解如何使用Shell脚本来监控MySQL服务,并针对这些脚本的编写和调试提供一些技巧和...
Shell脚本是Linux或Unix系统中的一种编程工具,它允许用户通过编写一系列Shell命令来实现自动化任务。在本文中,我们将深入理解Shell脚本的基本概念、语法和常见操作。 首先,Shell是操作系统的一个接口,它提供了...
一个简单的shell脚本,用来找出关键的服务是否正在运行,适用于Linux或Unix操作系统。该脚本还可以使用电子邮件发送通知。 代码: 代码如下:#!/bin/bash# Name : service.chk 服务检测脚本## 根据自己的环境修改_...
Shell脚本中的数组操作是日常自动化任务中非常实用的功能,特别是在处理批量数据和流程控制时。下面我们将详细探讨数组的定义、读取、替换、删除、复制和计算等操作。 ### 定义数组 在Bash中,数组的定义非常简单...
Shell脚本中的数组是一种非常实用的数据结构,它允许我们存储多个相关的值,并通过单个变量名来管理和操作这些值。以下是对Shell脚本数组用法的详细解释: 1. **数组声明**: - 直接赋值:你可以逐个为数组元素...
第十五章 小结 第四部分 基础SHELL编程 第十六章 SHELL脚本介绍 第十七章 条件测试 第十八章 控制流结构 第十九章 SHELL函数 第二十章 向脚本传递参数 第二一章 创建屏幕输出 第二二章 创建屏幕输入 第二三章 调试...