#!/bin/bash
#title :sendsms.sh
#description :This script will send
#author :Mike1Hsieh
#date :2016-10-19
#version :1.6
#usage :bash sendsms.sh
#notes :
#bash_version :
# 1.6 add
#
#==============================================================================
VER=1.6
reset='\e[39m\e[49m' # Text Reset
green='\e[32m' # Text Reset
red='\e[31m' # Text Reset
white='\e[97m' # Text Reset
Color_yellow='\e[33m' # Text Reset
print_HELP(){
echo -e "
${white}Script: $0 ${reset}
${white}Script Version : $VER${reset}
${white}參數說明 ${reset}
${green}\t\$1 : 簡訊內容 ${reset}
${green}\t\$2 : 簡訊群組 ${reset}
${green}\t\$3 : 簡訊等級 ${reset}
${white}$0 sendtxt group Level ${reset}
${white}舊有模式範例${reset}
${green}\t$0 \"SENDTXT\" \"444\" \"100\" ${reset}
${red} =========================${reset}
${green}\t -m | -M : 簡訊內容 ${reset}
${green}\t -g | -G : 簡訊群組 ${reset}
${green}\t -l | -L : 簡訊等級 ${reset}
${white}$0 -m sendtxt -g group -l Level ${reset}
${white}範例${reset}
${green}\t$0 -m \"SENDTXT\" -g \"444\" -l \"100\" ${reset}
"
exit ;
}
[ $# -eq 0 ] && print_HELP
while getopts ":l:L:m:M:g:G:H:h:" opt; do
case $opt in
m|M)
omessage="$OPTARG"
;;
g|G)
group="$OPTARG"
;;
l|L)
leval="$OPTARG"
;;
h|H)
echo "H"
print_HELP
exit
;;
esac
done
[ "$omessage" == "" ] && [ "$group" == "" ] && group="$2"
[ "$omessage" == "" ] && [ "$leval" == "" ] && leval="$3"
[ "$omessage" == "" ] && omessage="$1"
[ "$group" == "" ] && group="444"
[ "$leval" == "" ] && leval="100"
message=`echo $omessage | sed s'/ /%20/g'`
# echo "$1 $2 $3 $4 $5 $6"
echo -e " ${white} Message ==> $message ${reset}"
echo -e " ${white} Group ==> $group ${reset}"
echo -e " ${white} Level ==> $leval ${reset}"
echo "grp=${group}&level=${leval}&msg=${message}&encoding=BIG5"
[ "$leval" == "" ] && leval="100"
message=`echo $omessage | sed s'/ /%20/g'`
2017年3月25日 星期六
bash getopts Sendsms
2016年5月2日 星期一
oracle 基本的 alias
alert log 產出位子
SQL> show parameter background
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
background_core_dump string partial
background_dump_dest string /u01/app/oracle/diag/rdbms/orcl/orcl/trace
====================================================
export PS1="\e[4m$ORACLE_SID\[\e[0m\]::\[\e[41m\]\h:\W \u\\$ \[\e[0m\] "
alias SS='sqlplus / as sysdba'
alias cdTNS='cd $ORACLE_HOME/network/admin'
alias cdDBS='cd $ORACLE_HOME/dbs'
alias cdALT='cd /u01/app/oracle/diag/rdbms/orcl/orcl/trace'
alias viALT='vi /u01/app/oracle/diag/rdbms/orcl/orcl/trace/alert_orcl.log'
alias TAILALT='tail -f /u01/app/oracle/diag/rdbms/orcl/orcl/trace/alert_orcl.log '
前面有SID, 後面紅底白字
Prod
PS1="\e[4m$ORACLE_SID\[\e[0m\]::\[\e[41m\]\h:\W \\$ \[\e[0m\] "
ColdStandby
PS1="\e[4m$ORACLE_SID\[\e[0m\]::\[\e[36;44m\]\h:\W \\$ \[\e[0m\] "
2008年10月23日 星期四
unix 修改密碼偷吃步
expect
配合 console 作變化
自已作一個文檔
要改的時候就用貼的
#/.updat_root_passwd.exp Host user userpwd rootpwd newpwd
/script/updat_root_passwd.exp 192.168.1.1 c9992 pwd GOD dog
/script/updat_root_passwd.exp 192.168.1.2 c9992 pwd GOD dog
#!/usr/local/bin/expect
#scriptname : updat_root_passwd.exp
set HOSTNAME [lindex $argv 0]
set USERNAME [lindex $argv 1]
set USERPASSWD [lindex $argv 2]
set ROOTPASSWD [lindex $argv 3]
set NEWROOTPASSWD [lindex $argv 4]
spawn ssh $USERNAME@$HOSTNAME
expect "*assword:*"
send "$USERPASSWD\r"
expect "*>*"
send "su \r"
expect "*assword:*"
send "$ROOTPASSWD\r"
expect "*#*"
send "passwd root\r"
expect "*assword:*"
send "$NEWROOTPASSWD\r"
expect "*assword:*"
send "$NEWROOTPASSWD\r"
expect "*passwd: password successfully changed for root*"
exit
配合 console 作變化
自已作一個文檔
要改的時候就用貼的
#/.updat_root_passwd.exp Host user userpwd rootpwd newpwd
/script/updat_root_passwd.exp 192.168.1.1 c9992 pwd GOD dog
/script/updat_root_passwd.exp 192.168.1.2 c9992 pwd GOD dog
#!/usr/local/bin/expect
#scriptname : updat_root_passwd.exp
set HOSTNAME [lindex $argv 0]
set USERNAME [lindex $argv 1]
set USERPASSWD [lindex $argv 2]
set ROOTPASSWD [lindex $argv 3]
set NEWROOTPASSWD [lindex $argv 4]
spawn ssh $USERNAME@$HOSTNAME
expect "*assword:*"
send "$USERPASSWD\r"
expect "*>*"
send "su \r"
expect "*assword:*"
send "$ROOTPASSWD\r"
expect "*#*"
send "passwd root\r"
expect "*assword:*"
send "$NEWROOTPASSWD\r"
expect "*assword:*"
send "$NEWROOTPASSWD\r"
expect "*passwd: password successfully changed for root*"
exit
2007年11月9日 星期五
AWK小簡介 一個log的分析
AWK是一個很好用的指令喔
這個是一小段的Netbackup log file
cat logfile
0 NPACDB_local ORA_NPACDB_LOG Default-Ap BCSPBS01 10/23/2007 01:44:29
0 NPACDB_local ORA_NPACDB_LOG Sch_ORA_NP BCSPBS01 10/23/2007 01:44:39
0 NPACDB_local ORA_NPACDB_LOG Default-Ap BCSPBS01 10/23/2007 03:54:52
0 NPACDB_local ORA_NPACDB_LOG Sch_ORA_NP BCSPBS01 10/23/2007 03:55:11
96 BCSPBS01 FS_BCSPBS01 Sch_FS_BCS BCSPBS01 10/23/2007 05:15:11
(unable to allocate new media for backup, storage unit has none available)
96 BCSPBS01 FS_BCSPBS01 Sch_FS_BCS BCSPBS01 10/23/2007 05:15:12
(unable to allocate new media for backup, storage unit has none available)
0 NPACDB_local ORA_NPACDB_LOG Default-Ap BCSPBS01 10/23/2007 06:05:21
0 NPACDB_local ORA_NPACDB_LOG Sch_ORA_NP BCSPBS01 10/23/2007 06:05:39
0 NPACDB_local ORA_NPACDB_LOG Default-Ap BCSPBS01 10/23/2007 08:15:28
0 NPACDB_local ORA_NPACDB_LOG Default-Ap BCSPBS01 10/23/2007 08:16:14
0 NPACDB_local ORA_NPACDB_LOG Sch_ORA_NP BCSPBS01 10/23/2007 08:16:25
0 NPACDB_local EXP_NPACDB Sch_EXP_NP BCSPBS01 10/23/2007 09:55:51
0 NPACDB_local ORA_NPACDB_LOG Default-Ap BCSPBS01 10/23/2007 10:25:56
0 NPACDB_local ORA_NPACDB_LOG Default-Ap BCSPBS01 10/23/2007 10:26:46
0 NPACDB_local ORA_NPACDB_LOG Sch_ORA_NP BCSPBS01 10/23/2007 10:27:03
196 BCSPBS01 FS_BCSPBS01 Sch_FS_BCS BCSPBS01 10/23/2007 11:15:31
(client backup was not attempted because backup window closed)
0 NPACDB_local ORA_NPACDB_LOG Default-Ap BCSPBS01 10/23/2007 12:35:54
0 NPACDB_local ORA_NPACDB_LOG Default-Ap BCSPBS01 10/23/2007 12:36:49
0 NPACDB_local ORA_NPACDB_LOG Sch_ORA_NP BCSPBS01 10/23/2007 12:36:55
0 NPACDB_local ORA_NPACDB_LOG Default-Ap BCSPBS01 10/23/2007 14:35:28
事件 第一個格子是代表成功失敗
0 為成功 其他為失敗
條件
1 行中有 Default-Ap 為程序自已起來的 必須不計算
2 想要計算有多少成功的
3 想要計算有多少失敗的
4 失敗重式的部份不計算
主要用在有一個特定格式 很象excel的統計 分析功能
這個要怎麼作呢
想法:
1 先排除怪怪的行數
(client backup was not attempted because backup window closed)
那種前面沒有帶數字的 要先排除
2 排除 Default-Ap
條件1 所提及的部份
3 條件4是比較討厭一點的部份
從: 來判別 分左邊及右邊
gawk -F: "!/Default-Ap/&&!/\(/{if ($1!=y)print $0; y=$1}" logfile
再度給| 符號接下去作剩下的處理
| gawk "{if($1==0){s++}else{f++}}END{print s,f}"
合在一起寫
gawk -F: "!/Default-Ap/&&!/\(/{if ($1!=y)print $0; y=$1}" logfile | gawk "{if($1==0){s++}else{f++}}END{print s,f}"
這個是一小段的Netbackup log file
cat logfile
0 NPACDB_local ORA_NPACDB_LOG Default-Ap BCSPBS01 10/23/2007 01:44:29
0 NPACDB_local ORA_NPACDB_LOG Sch_ORA_NP BCSPBS01 10/23/2007 01:44:39
0 NPACDB_local ORA_NPACDB_LOG Default-Ap BCSPBS01 10/23/2007 03:54:52
0 NPACDB_local ORA_NPACDB_LOG Sch_ORA_NP BCSPBS01 10/23/2007 03:55:11
96 BCSPBS01 FS_BCSPBS01 Sch_FS_BCS BCSPBS01 10/23/2007 05:15:11
(unable to allocate new media for backup, storage unit has none available)
96 BCSPBS01 FS_BCSPBS01 Sch_FS_BCS BCSPBS01 10/23/2007 05:15:12
(unable to allocate new media for backup, storage unit has none available)
0 NPACDB_local ORA_NPACDB_LOG Default-Ap BCSPBS01 10/23/2007 06:05:21
0 NPACDB_local ORA_NPACDB_LOG Sch_ORA_NP BCSPBS01 10/23/2007 06:05:39
0 NPACDB_local ORA_NPACDB_LOG Default-Ap BCSPBS01 10/23/2007 08:15:28
0 NPACDB_local ORA_NPACDB_LOG Default-Ap BCSPBS01 10/23/2007 08:16:14
0 NPACDB_local ORA_NPACDB_LOG Sch_ORA_NP BCSPBS01 10/23/2007 08:16:25
0 NPACDB_local EXP_NPACDB Sch_EXP_NP BCSPBS01 10/23/2007 09:55:51
0 NPACDB_local ORA_NPACDB_LOG Default-Ap BCSPBS01 10/23/2007 10:25:56
0 NPACDB_local ORA_NPACDB_LOG Default-Ap BCSPBS01 10/23/2007 10:26:46
0 NPACDB_local ORA_NPACDB_LOG Sch_ORA_NP BCSPBS01 10/23/2007 10:27:03
196 BCSPBS01 FS_BCSPBS01 Sch_FS_BCS BCSPBS01 10/23/2007 11:15:31
(client backup was not attempted because backup window closed)
0 NPACDB_local ORA_NPACDB_LOG Default-Ap BCSPBS01 10/23/2007 12:35:54
0 NPACDB_local ORA_NPACDB_LOG Default-Ap BCSPBS01 10/23/2007 12:36:49
0 NPACDB_local ORA_NPACDB_LOG Sch_ORA_NP BCSPBS01 10/23/2007 12:36:55
0 NPACDB_local ORA_NPACDB_LOG Default-Ap BCSPBS01 10/23/2007 14:35:28
事件 第一個格子是代表成功失敗
0 為成功 其他為失敗
條件
1 行中有 Default-Ap 為程序自已起來的 必須不計算
2 想要計算有多少成功的
3 想要計算有多少失敗的
4 失敗重式的部份不計算
主要用在有一個特定格式 很象excel的統計 分析功能
這個要怎麼作呢
想法:
1 先排除怪怪的行數
(client backup was not attempted because backup window closed)
那種前面沒有帶數字的 要先排除
2 排除 Default-Ap
條件1 所提及的部份
3 條件4是比較討厭一點的部份
從: 來判別 分左邊及右邊
gawk -F: "!/Default-Ap/&&!/\(/{if ($1!=y)print $0; y=$1}" logfile
再度給| 符號接下去作剩下的處理
| gawk "{if($1==0){s++}else{f++}}END{print s,f}"
合在一起寫
gawk -F: "!/Default-Ap/&&!/\(/{if ($1!=y)print $0; y=$1}" logfile | gawk "{if($1==0){s++}else{f++}}END{print s,f}"
訂閱:
文章 (Atom)
RHEL install EPEL
https://www.linuxtechi.com/install-epel-repo-on-rhel-system/ EPEL dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest...
-
旋轉泡泡: Oracle DataGuard 相關 Oracle DataGuard 檢查開啟狀態 -- 請全貼 -- ===check=== select dbid,name from v$database; select log_mode , OPE...
-
023_DG_3_restore 4.7 restore database on standby 4.7.1 startup nomount on standby STAGE [oracle@ Standby rmanbackup]$ export ORACL...
-
Check Log Mode SQL> select dbid,name from v$database; select log_mode , OPEN_MODE , DATABASE_ROLE from v$database; --Data...