示例: A为本地主机(即用于控制其他主机的机器) ; B为远程主机(即被控制的机器Server), 假如ip为192.168.60.110; A和B的系统都是Linux 在A上运行命令: # ssh-keygen -t rsa (连续三次回车,即在本地生成了公钥和私钥,不设置密码) # ssh root@192.168.60.110 mk...
1. 自动ssh/scp方法 A为本地主机(即用于控制其他主机的机器) ; B为远程主机(即被控制的机器Server), 假如ip为192.168.60.110; A和B的系统都是Linux 在A上运行命令: # ssh-keygen -t rsa (连续三次回车,即在本地生成了公钥和私钥,不设置密码) # ssh root@192.1...
清除日志(log)的shell脚本 代码如下: #!/bin/bash LOG_DIR=/var/log ROOT_UID=0 LINES=50 E_XCD=66 E_NOTROOT=67 if [ $UID -ne $ROOT_UID ] then echo Must be root to run this script. exit $E_NOTROOT fi if [ -n $1 ] then lines=$1 else lines=$LINES f...
备份数据库 代码如下: #!/bin/bash #指定运行的脚本shell #运行脚本要给用户执行权限 bakdir=/backup month=`date +%m` day=`date +%d` year=`date +%Y` hour=`date +%k` min=`date +%M` dirname=$year-$month-$day-$hour-$min mkdir $bakdir/$dirname mkdir...
备份网站内容 代码如下: #!/bin/bash #指定运行的脚本shell #运行脚本要给用户执行权限 bakdir=/backup month=`date +%m` day=`date +%d` year=`date +%Y` hour=`date +%k` min=`date +%M` dirname=$year-$month-$day-$hour-$min mkdir $bakdir/$dirname mkdi...
如何保护自己编写的shell程序? 方法有很多,最简单的方法有两种:1、加密 2、设定过期时间,下面以shc工具为例说明: 一、下载安装shc工具 shc是一个加密shell脚本的工具.它的作用是把shell脚本转换为一个可执行的二进制文件. # wget http://www.datsi.fi.up...
shell (bash)中的比较运算符 运算符 描述 示例 文件比较运算符 -efilename 如果filename存在,则为真 [ -e /var/log/syslog ] -dfilename 如果filename为目录,则为真 [ -d /tmp/mydir ] -ffilename 如果filename为常规文件,则为真 [ -f /usr/bin/grep ] -Lf...
awk模拟grep -A参数用法,不同的方法尝试。 文本: 1 2 3 2 3 4 a b c 3 4 5 4 5 6 b c d 5 6 7 6 7 8 c d e 如何用awk实现,只要取出a和c开头的前两行(包括自己共3行),如下结果: 1 2 3 2 3 4 a b c 5 6 7 6 7 8 c d e awk代码: 复制代码 代码如下:$0 ~...
先来看一段脚本: 代码如下: #!/bin/sh count=0 while read LINE do count=`expr $count + 1` done file echo $count 问题是这个程序能得到什么样的结果?仿佛很明显,能够统计文件file的行数,然而你若执行一下便知,无论file的行数是多少,该程序的输出始终...
要求:取出一天9:00~21:00每小时的随机100条日志。 用/var/log/messages举例。 代码如下: #!/usr/bin/bash #取出一天9:00~21:00每小时的随机100条日志。用/var/log/messages举例。 #日志文件是一天内的日志,如果日志文件中包含多天的日志,还需进行一些修改...
编写shell脚本的时候,经常会遇到在脚本中使用awk或sed去调用shell环境中的变量的时候,下面简单的说一下调用的方法。 sed一般使用单引号,sed引用shell变量时使用双引号即可,因为双引号是弱转义,不会去除$的变量表示功能,而单引号为强转义,会把$作为一般...
最近博客搬到VPS,由于VPS只装了LAMP,没有网站管理面板,备份数据比较麻烦,要用命令打包,再用ftp下载到本地。 于是琢磨着搞个自动化的程序备份数据,下面便是详细的实践步骤。 1、SSH登录到VPS,进入到/home/backup目录,新建文件backup.sh,粘贴如下代码...
一个全自动配置php、mysql、nginx的shell脚本,为了配置服务的方便,有些变量是根据自己的环境来配置的。 有需要的朋友,可以参考下。 代码如下: #!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH # this p...
写脚本怎能少了颜色,把下面内容贴到你脚本里,享受使用颜色的乐趣吧。 代码如下: COLOR_SUCCESS=$(echo -en [url=file://\\033[1;32m]\\033[1;32m[/url] ) COLOR_FAILURE=$(echo -en [url=file://\\033[1;31m]\\033[1;31m[/url] ) COLOR_WARNING=$(echo -e...
linux系统中主要包括以下七种文件类型: d 目录 - 普通文件 l 符号链接 s 套接字文件 b 块设备文件 c 字符设备文件 p 命名管道文件...
1. 用户定义的变量 用户定义的变量是最普通的Shell变量。变量名是以字母或下线符打头的字母、数字和下线符序列,并且大小写字母意义不同。如dir与Dir是不同的变量。这与C语言中标识符的定义相同。变量名的长度不受限制。 定义变量并赋值的一般形式是:变量名=...
- 原值没设置赋值 var=${str-expr} str 没有设值 unset str var=${str-abc} echo ${var} ${str} abc 空值 str 设值 str=old_value var=${str-new_value} echo ${var} ${str} old_value old_value str 设值为 空字符串 str= var=${str-newValue} echo ${var} $...
正则表达式在shell编程中非常重要。 从一个文件或命令输出中抽取或过滤文本时。可使用正则表达式(RE),正则表达式是一些特殊或不很特殊的字符串模式的集合。 基本的元字符集: ^ 只匹配行首。 $ 只匹配行尾。 * 一个单字符后紧跟*,匹配0个或多个此单字符。...
常用的可用字符类列表: [:alnum:] 字母数字 [a-z A-Z 0-9] [:alpha:] 字母 [a-z A-Z] [:blank:] 空格或制表键 [:cntrl:] 任何控制字符 [:digit:] 数字 [0-9] [:graph:] 任何可视字符(无空格) [:lower:] 小写 [a-z] [:print:] 非控制字符 [:punct:] 标点字...
shell中共有四种引用类型: 双引号 单引号 ` ` 反引号 反斜线 说明: 可引用除$、` 、 、外的任意字符或字符串, 中的变量能够正常显示变量值。 与 类似,不同在于shell会忽略任何的引用值。 例如: GIRL=girl echo The $GIRL did well 则打印:The girl did...
test命令用于测试字符串、文件状态和数字,expr测试和执行数值输出。 Test格式:test condition 或 [ condition ](需要特别注意的是condition的两边都要有一个空格,否则会报错),test命令返回0表示成功。 下面将分别描述test的三种测试: 文件状态测试(常用...
成功执行一个命令后再执行下一个 || 一个命令执行失败后再执行另一个命令 ( ) 在当前shell中执行一组命令(格式:(命令1;命令2; )) { } 同( ) 例如: comet mouth_end || ( echo hello | mail dave ;exit ) 如果没有( ),则shell将直接执行最后一个命令(ex...
脚本调试 最有用的调试脚本的工具是echo命令,可以随时打印有关变量或操作的信息,以帮助定位错误。 也可使用打印最后状态($?) 命令来判断命令是否成功,这时要注意的是要在执行完要测试的命令后立即 输出$?,否则$?将会改变。 Set命令也可以用来辅助脚本测试...
假设/var/log/a.log是某程序的log文件 内容形如:2012-07-27 18:12:17,788 INFO [com.kmsocial.search.websearch.WeiboPool:229] - Weibo pool running! 要求写个脚本,如果超过2分钟没有产生新log则发送邮件给admin@localhost.localdomain。 代码如下: #!/bi...
每五秒运行一个命令且出错后退出的脚本,有需要的朋友可以参考下。 #!/bin/bash while true do ls -al; if [ $? != 0 ]; then echo occure errors exit fi echo sleep 5s; sleep 5s; done...
去除文件内容中的注释与空行: cat file |sed -e /^$/d -e /^#/d cat file |sed -n -r /^$|#/!p...
去除空格与数字: 代码如下: cat $File | sed s/^[[:space:]]*// | sed s/^[0-9]*// result.text #运用管道先去除空格,再去除数字,结果输出到result.txt中...
awk使用规则 awk 适合于文本处理和报表生成,它还有许多精心设计的特性,允许进行需要特殊技巧程序设计。 awk 的语法较为常见。它借鉴了某些语言的一些精华部分,如C 语言、python 和 bash。 第一个 awk 让我们继续,开始使用 awk,以了解其工作原理。在命令...
例子: 重启filebeat 升级版 #!/bin/bash ps -ef|grep filebeat |grep -v grep|cut -c...
crontab是linux自带的计划任务程序,可以实现分,时,日,周,月。 但是crontab有两个...
我在 CU 的日子并不长,有幸在 shell 版上与大家结缘。除了跟众前辈学习到不少技巧之...
cpu时间是一项重要的资源,有时,我们需要跟踪某个时间内占用cpu周期最多的进程。 在...
介绍一个强大的分析网络的shell脚本,此脚本是从EZHTTP拆分出来的,觉得有必要单独介...
Shell是一种具备特殊功能的程序,它是介于使用者和 UNIX/Linux 操作系统之核心程序(k...