批量ssh登录机器
#site_search_hosts 10.4.16.205,10.4.20.87,10.4.20.88,10.4.20.89,10.4.20.90,10.4.20.92,10.4.20.93,10.4.21.51,10.4.21.52,10.4.21.53,10.4.21.54,10.4.33.136,10.4.33.137,10.4.33.138,10.4.33.139,10.4.33.140
site_search_hosts='10.4.16.205,10.4.20.87,10.4.20.88,10.4.20.89,10.4.20.90,10.4.20.92,10.4.20.93,10.4.21.51,10.4.21.52,10.4.21.53,10.4.21.54,10.4.33.136,10.4.33.137,10.4.33.138,10.4.33.139,10.4.33.140'
NODE_HOSTS=(${site_search_hosts//,/ })
 
#NODE_HOSTS=(
#       10.4.33.136
#       10.4.33.137
#       10.4.33.138
#       10.4.33.139
#       10.4.33.140
#       )
NODE_HOSTS_CNT=${#NODE_HOSTS[@]}
 
echo $NODE_HOSTS_CNT
 
for (( i=0; $i<${NODE_HOSTS_CNT}; i=$i+1 ))
do
        ssh "tiger@${NODE_HOSTS[$i]}" "hostname -i; \
 
        cd .service
        ls
done
 
例行
lastday=''
while [ 1 ]; do
    day=`date +%Y%m%d`
    hour=`date +%H`
    echo $lastday
    echo $day
    echo $hour
    if [ "${day}" != "${lastday}" -a ${hour} -eq 6 ]; then
        cur_date=`date -d -1day +%Y%m%d`
        echo 'run'
        lastday=$day
    fi
    sleep 600
    echo "done"
done
 
读入文件
n=0
CONF_FILE="action_needed.conf"
cat $CONF_FILE |
        while read LINE
        do
                echo "$n) $LINE"
                n=`expr $n + 1`
        done
 
字符串处理
$ date=`date`
$ echo $date
Mon Nov 30 10:52:09 CST 2015
$ echo ${date#* * * }
10:52:09 CST 2015
$ t1=${date#* * * } 
$ echo ${t1%:*:*} 
10
 
#First, get file name without the path:
filename=$(basename "$fullfile")
extension="${filename##*.}"
filename="${filename%.*}"
#Alternatively, you can focus on the last '/' of the path instead of the '.' which should work even if you have unpredictable file extensions:
filename="${fullfile##*/}"
 
正则表达式匹配
s="hdfs://hdfs.example.com:8800/app/yaoyao/20141203/part-00042"
if [[ $s =~ [0-9]{8,8} ]]; then
        echo ${BASH_REMATCH[0]}
fi
 
例行拉取日志(backtrack.sh)
#!/bin/bash
 
# Step 1: Check Parameters
if [ $# -lt 2 ]; then
        echo ""
        echo "Usage: sh $0 LastDay DaysToDownload"
        echo "Example: sh $0 20140831 7, this will download logs for 7 days: 20140825-20140831."
        echo ""
 
        exit
fi
 
# Step 2: Fetch log data
last_day=$1
days_to_download=$2
for((i = 1; i <= ${days_to_download} ; ++i));
do
        (( finished =  i - 1))
        (( togo =  ${days_to_download} - finished ))
 
        echo ""
        echo "-------" 
 
        if [ ${last_day} = "yesterday" ]; then
                day=`date -d -${i}day +%Y%m%d`
        else
                day=`date -d "${last_day} ${finished} days ago" +%Y%m%d`
        fi
 
        echo "[`date`] Downloading log for ${day}, ${finished} finished, ${togo} to go......"
 
        start_date=`date`
        for ((j=1; j<=3; j++));
        do
            # download logs
            # download logs finished
            if [ $? -eq 0 ]; then
                break
            fi
        done
        end_date=`date`
 
        echo "Finished ${day}. Started at ${start_date}, finished at ${end_date}"
done
 
echo ""
echo "Finished downloading $2 logs ( ${day} - ${last_day} ) !"
echo ""
 
例行拉取日志(forwardtrack.sh)
#!/bin/bash
 
# Step 1: Check Parameters
if [ $# -lt 2 ]; then
        echo ""
        echo "Usage: sh $0 FirstDay DaysToDownload"
        echo "Example: sh $0 20140825 7, this will download logs for 7 days: 20140825-20140831."
        echo ""
 
        exit
fi
 
# Step 2: Fetch log data
first_day=$1
days_to_download=$2
for ((i=1; i<=${days_to_download}; i++));
do
        (( finished = i - 1))
        (( togo = ${days_to_download} - finished ))
 
        echo ""
        echo "-------"
 
        day=`date -d "${first_day} ${finished} days" +%Y%m%d`
 
        echo "[`date`] Downloading log for ${day}, ${finished} finished, ${togo} to go......"
 
        start_date=`date`
        for ((j=1; j<=3; j++));
        do
            # download logs
            # download logs finished
            if [ $? -eq 0 ]; then
                break
            fi
        done
        end_date=`date`
 
        echo "Finished ${day}. Started at ${start_date}, finished at ${end_date}"
done
 
echo ""
echo "Finished downloading $2 logs ( ${first_day} - ${day} ) !"
echo ""

最新文章

  1. Web集群缓存一致性的思考
  2. ubuntu下增加中文编码
  3. [Linux] 取得服务器版本
  4. 助手系列之python的FTP服务器
  5. hdu 5067 Harry And Dig Machine (状态压缩dp)
  6. 《HTML5与CSS3基础教程》学习笔记 ——Two Day
  7. 关闭utorrent的广告
  8. React新接触
  9. 设计模式 ( 十七 ):Observer 观察者模式 -- 行为型
  10. Android HttpClient HttpURLConnection相关介绍
  11. linux系统管理命令--系统测试工具
  12. PHP 11:函数
  13. 9Linux_LVM_iptables
  14. Eclipse安装TestNG插件
  15. Http系列目录
  16. char与unsigned char的区别
  17. cxf动态调用外部web service 报告异常java.lang.NoSuchFieldErr
  18. 1.preparation
  19. LinuxMint下的Orionode源码安装
  20. webdriver屏幕截图(python)

热门文章

  1. URLTester2.3.2
  2. MATLAB数字图像处理(二)图像增强
  3. Python如何打包EXE可执行文件
  4. DotNet经典面试题(转载)
  5. netty下载源码并导入idea
  6. Linux之创建777权限的文件
  7. 167. Two Sum II - Input array is sorted两数之和
  8. 基于vue实现上下滑动翻页效果
  9. Kibana error &quot; Fielddata is disabled on text fields by default. Set fielddata=true on [publisher] ...&quot;
  10. C语言数据结构-栈的实现-初始化、销毁、长度、取栈顶元素、查找、入栈、出栈、显示操作