首页 > 代码库 > 生成文件shell脚本以及说明(一)

生成文件shell脚本以及说明(一)

生成文件shell脚本以及说明:

#!/bin/sh

file1=$(date +%Y%m%d%H%M%S) #定义变量获取当前时间

ALM_TYPE=BOSS4ZC #定义变量

INSTANCE_ID=62100408#定义变量

STATUS=MAJOR#定义变量

ALM_INFO=Mysql备用主机宕机10.**.62.**,请及时处理.#定义变量

ALM_TIME=$(date +‘%Y-%m-%d %H:%M:%S‘)#定义变量

file2=$INSTANCE_ID.#定义变量

file3=.alm#定义变量

file_name=$file2$file1$file3#定义变量

cd /nms/almd/data/alm   #进入固定路径

touch $file_name  #创建文件

chown nms $INSTANCE_ID* #修改文件用户

chgrp bomc $INSTANCE_ID* #修改文件组

echo $ALM_TYPE";"$INSTANCE_ID";"$STATUS";"$ALM_INFO";"$ALM_TIME >> $file_name  #重定向到文件

file1_name=$file2$file3 #定义变量

touch $file1_name #创建文件

if [ ! -f "$file1_name" ]  #判断如果文件不存在

then

    echo " $host mysql login successfully "

exit 0 

else

    #echo " $host mysql login faild"

    mv /home/mysql/check_mysql_alarm.sh /home/mysql/check_mysql_alarm1.sh

    exit 2

fi

#######################################################################

用crontab -e 命令,配置定时执行脚本:

* * * * * /nms/check_mysql.sh 1>/dev/null 2>&1

* * * * * /nms/check_mysql_ip.sh 1>/dev/null 2>&1

#每分钟执行一次/nms/check_mysql.sh脚本

注意:脚本手动执行:正常;crontab执行不生效;

总结原因:

1.shell脚本中绝对路径问题(尤其是生成文件路径)

2.crontab的环境变量问题(尤其是命令调用路径)

------------------------------------------------------

# crontab的配置文件!!!

------------------------------------------------------

[root@monitor2 scripts]# cat /etc/crontab 

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin     # 将可执行文件复制到/usr/bin下

MAILTO=root

HOME=/


# For details see man 4 crontabs


# Example of job definition:

# .---------------- minute (0 - 59)

# | .------------- hour (0 - 23)

# | | .---------- day of month (1 - 31)

# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...

# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat

# | | | | |

# * * * * * user-name command to be executed

-------------------------------------------------------------






本文出自 “梦Dream” 博客,请务必保留此出处http://dreamy.blog.51cto.com/12471447/1906417

生成文件shell脚本以及说明(一)