shell 基础脚本 shell


=====set -o======

-在默认情况下,遇到不存在的变更,会忽略并继续执行,

-而这往往不符合预期,加入该选项,可以避免恶果扩大,终止脚本的执行。

set -o nounset


-在默认情况下,遇到执行出错,会跳过并继续执行,

-而这往往不符合预期,加入该选项,可以避免恶果扩大,终止脚本的执行。

set -o errexit

 

set -e表示一旦脚本中有命令的返回值为非0,则脚本立即退出,后续命令不再执行;

set -o pipefail表示在管道连接的命令序列中,只要有任何一个命令返回非0值,则整个管道返回非0值,即使最后一个命令返回0.

set -eo pipefail



#!/bin/bash

#bash包含sh并且功能更强,比如可以用数组。

# #####

# 逾期自动代扣, 逾期30天内的每天23.30分自动发起代扣

# 23点30分

# #####


set -o nounset

set -o errexit


PHP_BIN="/usr/local/webserver/php-70/bin/php"

echo "******"

echo $(date)

echo "datianxia_grcvomej"

$PHP_BIN /data/web/gaea.qianbitou.cn/command/datianxia_grcvomej overdue/overdue-status-task

echo $(date)

echo "overdue/overdue-status-task end!"

echo "******"


# 逾期自动代扣, 逾期30天内的每天23.30分自动发起代扣

20 0 * * * root /usr/bin/bash /data/scripts/tianxiada_overdue-status-task.sh >>/tmp/prod-cron/overdue-status-task.log 2>&1


#/dev/null 

在类Unix系统中,/dev/null,或称空设备,是一个特殊的设备文件,它丢弃一切写入其中的数据(但报告写入操作成功),读取它则会立即得到一个EOF。

在程序员行话,尤其是Unix行话中,/dev/null 被称为位桶(bit bucket)或者黑洞(black hole)。

空设备通常被用于丢弃不需要的输出流

>/dev/null 2>&1,让所有的输出流(包括错误的和正确的)都定向到空设备丢弃。


=======循环目录名========

DIR="/data/web/qianbitou.cn/gaea-beta/command"
CLIENTS=$(ls -1 $DIR)
cd "/data/web/qianbitou.cn/gaea-beta/"
i=0
for client in $CLIENTS;
do
    echo $client
    let i+=1
    echo yes | $PHP_BIN $DIR/$
    client migrate &
    # echo yes | $PHP_BIN $DIR/$client migrate --migrationPath="@console/migrations/data" &
    if [ $i == 4 ]
    then
        wait
        i=0
    fi
done
wait
PHP_BIN="/usr/local/webserver/php-70/bin/php"
ALPHA_DIR="/data/web/qianbitou.cn/gaea-alpha/command"
BETA_DIR="/data/web/qianbitou.cn/gaea-beta/command"
echo $(date)
BETA_CLIENTS=$(ls -1 $BETA_DIR)
for client in $BETA_CLIENTS;
do
    echo $client;
    echo "Alpha"
    sudo -u www $PHP_BIN $ALPHA_DIR/$client clear/clear-home-statistics-cache;
    echo "Beta"
    sudo -u www $PHP_BIN $BETA_DIR/$client clear/clear-home-statistics-cache;
done
echo "clear-home-statistics-cache end!"



=======txt循环目录名========

/data/scripts/clear-home-statistics-cache.sh  >> /data/logs/clear-home-statistics-cache.log 2>&1

#!/bin/bash
# #####
# 清除首页缓存数据:每天1:00
# 执行方式:./clear-home-statistics-cache.sh
# #####
set -o nounset
# set -o errexit
PHP_BIN="/usr/local/webserver/php-70/bin/php"
PROD_DIR="/data/web/gaea.qianbitou.cn/command"
# CLIENTS_FILE="/data/scripts/clients_prod.txt"
CLIENTS_FILE="/data/scripts/new_clients_prod.txt"
echo "******"
echo $(date)
PROD_CLIENTS=$(cat $CLIENTS_FILE | grep -v ^# | awk '{if($4 == "1") {print $1}}')
for client in $PROD_CLIENTS;
do
    echo $client;
    sudo -u www $PHP_BIN $PROD_DIR/$client clear/clear-home-statistics-cache;
don
echo "clear-home-statistics-cache end!"
echo "******"

vim  new_clients_prod.txt

i# 配置各个客户是否需要开启相应的功能,1为开启,0为不开启
# client	1	2    	3   	4 	5 	6	7	8	9	10	11	12     13 
jueying_pof7ba	0	0	0	1	1	1	0	0	0	1	1	1      1
meichet_uxjk8u	1	1	1	1	1	1	0	0	0	1	1	1      1
donglif_ig0gbx	0	0	0	1	1	1	0	0	0	1	1	1      1
zhongyi_kgsvez	0	0	0	1	1	1	0	0	0	1	1	1      1
huipuyh_ktamun	1	1	1	1	1	1	0	0	0	1	1	1      1
zhongyi_dmacut	0	0	0	1	1	1	1	1	0	1	1	1      1


#重启脚本

#!/bin/bash
pid=$(ps -ef | grep biz | grep -v grep | awk '{print $2}')
echo $pid
if [ -n "$pid" ]
then 
    echo '$pid is nunning : ' $pid
    kill -9 $pid
fi
mv  /data/log/biz.log    /data/log/biz.log.$(date +%Y%m%d)
nohup /usr/bin/java -jar -Dhudson.util.ProcessTree.disable=true /data/projar/biz.jar --server.port=8014 --server.servlet.context-path=/ >> /data/log/biz.log 2>&1 &


---指定用户运行
sudo -u www bash -c 'nohup ./gocron web &'


签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回