Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

Shell脚本实现监控rsync数据是否传输完

Shell脚本实现监控rsync数据是否传输完

今天有台服务器a要把网站程序全部传输到另外一台服务器b上去,但离下班时间就只有1个小时了,为了准时下班,简单写了个shell脚本来监控是否有传输完,我先在服务器a上看了下网站程序总大小为12G,用du -sm查看也就是11517,服务器也不会有人再传东西上去了,所以我可以放心容量不会再变大了。系统:centos 5.x需要的软件:rsync脚本内容:复制代码 代码如下:#!/bin/bashfile=`du -sm /var/www/vhosts/|awk...
Shell脚本中使用for循环和cat命令实现按顺序合并文件

Shell脚本中使用for循环和cat命令实现按顺序合并文件

工作目录下面有mydoc1.txt,mydoc2.txt...mydoc41.txt,本来想用sed排列依次取值排序,然后用cat来合并这些文件,发现达不到预期效果,合并令如下所示:复制代码 代码如下:ls -lF *.txt | sed -n "/mydoc1/,/mydoc41/p" | xargs -i cat {}> >mynew.txt发现用其命令达不到预期效果,后来经检查发现,问题应该出现在sed排序上面,它仍然是按照位数来进行排序...
Shell脚本实现精准清除Squid缓存

Shell脚本实现精准清除Squid缓存

此脚本是在张宴的缓存清理脚本上做了修改的,主要是增加if选项,并根据$1参数类型来选择性的列出缓存文件所在地址(因为$1并不固定,有时是特定的jpg类型,有时是域名)目前在自己的Squid缓存服务器上应用,感觉采集缓存网址基本上没什么误差了,欢迎大家试用,争取将此脚本做到更加完美(此脚本在Centos5.4 x86_64,Squid2.7下通过)脚本内容如下:复制代码 代码如下:#!/bin/shsquidcache_path="/usr/local/sq...
获取shell脚本自身所在目录的Shell脚本分享

获取shell脚本自身所在目录的Shell脚本分享

前几天写的七牛的参赛demo,用bash写了一个便捷安装的脚本,涉及到了路径相关的判断,从stackoverflow,加上自己的实践整理一下。简单版下面是一个最简单的实现,可以解决大多数问题,缺陷是对于软链接显示的是软链接所在的目录lineos:false复制代码 代码如下:#!/bin/bashDIR="$( cd "$( dirname "$0" )" && pwd )"完善版这个版本解决了使用ln -s target linkName创造软链接无法正...
Shell脚本避免重复执行的方法

Shell脚本避免重复执行的方法

很多用cron定时执行的shell脚本可能会由于各种原因执行很久,会有必要在运行的时候先检查一下自身是否还在运行。本文提供的linux shell脚本用以检查以命令sh ...来执行的shell脚本。要对其他东西进行唯一性检查,可以稍微修改一下源代码。复制代码 代码如下:# 检查通过sh命令执行的shell脚本是不是还在执行当中,避免重复执行. # 把这段代码放在需要保证唯一性的程序头部即可# 注意,如果直接把此脚本放到cron里面执行的话,必须再grep...
Shell脚本实现查找字符串中某字符最后出现的位置

Shell脚本实现查找字符串中某字符最后出现的位置

需要对字符串查找其中某个字符最后出现的位置,这个在PHP (strrpos)或者Perl (rindex)里面都有现成函数可用的功能,在Shell里面居然一时想不出个道道来。在论坛上发贴也没人解答(不知道是问题太简单还是真的很高深...)。因为事情紧急等不得,于是求救大学同学。Pacman不愧是个中高手,三两下点醒梦中人:rindex.sh代码:复制代码 代码如下:#!/bin/bashstrToCheck=$1;charToSearch=$2;let p...
Shell中获取脚本所在目录绝对路径的方法

Shell中获取脚本所在目录绝对路径的方法

要得到正在执行的程序/脚本自身所存放的绝对路径,在 PHP 里面可以用 dirname(realpath(__FILE__)) ; C# 则有 System.Windows.Forms.Application.StartupPath ; java 似乎没有什么比较直接的方法,只能利用 CodeSource 来间接获取 。而在 linux shell 脚本里面如果想得到当前脚本文件存放的绝对路径,也没有太现成的命令可以调用,不过可以通过下面的语句来获取:复制...
Shell编程 Bash引号的那点事

Shell编程 Bash引号的那点事

先了解下,在bash脚本中,有三种引号1. 单引号 "2. 双引号 "3. 反引号 `单引号 两个单引号包围起来的字符串就是普通的字符串,它将保留原始的字面意思.双引号 两个双引号包围起来的字符串,部分特殊字符将起到它们的作用. 这些特殊字符有: 美元符$, 反斜杠, 反引号, 感叹号!.反引号 两个反引号包围起来的字符串,将作为命令来运行, 执行的输出结果作为该反引号的内容,称为命令替换, 它有另一种更好的写法: $(command)我们来看几个例子,更...
Shell脚本实现乱序排列文件内容的多种方法(洗牌问题)

Shell脚本实现乱序排列文件内容的多种方法(洗牌问题)

洗牌问题:洗一副扑克,有什么好办法?既能洗得均匀,又能洗得快?即相对于一个文件来说怎样高效率的实现乱序排列?ChinaUnix 确实是 Shell 高手云集的地方,只要你想得到的问题,到那里基本上都能找到答案。r2007 给出了一个取巧的方法,利用 Shell 的 $RANDOM 变量给原文件的每一行加上随机的行号然后根据这个随机行号进行排序,再把临时加上去的行号给过滤掉,这样操作之后得到的新文件就相当于被随机“洗”了一次:复制代码 代码如下:while ...
Shell脚本实现查杀子进程、僵尸进程

Shell脚本实现查杀子进程、僵尸进程

核心服务器上跑了一堆的脚本、程序,难免有时候会出现僵尸进程,死不死活不活的在那里占用资源,最初只是写了个根据关键字查杀进程的linux shell脚本,后来发现很多时候进程死在那里的时候其实是内部调用子进程的时候出现了问题,这时候光杀父进程根本没解决根本问题。比如说rsync的时候通过ssh来连接,rsync本身没问题,但可能ssh死掉了。因此重新写了脚本,递归查找子进程。复制代码 代码如下:#!/bin/sh# 递归找到导致进程僵死的最底层子进程并杀除....
Shell脚本实现ftok函数

Shell脚本实现ftok函数

“古老的 Sys IPC 仍然有好几种有效的用途。三种 IPC 对象是共享内存,信号灯和消息。”当使用到 IPC 的这些对象时,你需要为每个对象创建一个 Key。虽然理论上来说我们在定义一个 IPC Key 的时候可以使用任意自己喜欢的 Key ,但为了避免与其他的程序产生定义重复,在 UNIX/Linux 中一般会使用 key_t ftok(const char *path, int id) 函数来生成一个比较唯一的 Key 值。然而,“每个人都讨厌 S...
<< 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 >>