logo

シェルスクリプト:Apacheが停止してたら起動

SERVICE=httpd LOG=/var/log/service-start.log RESULT=ps aux |grep httpd |grep -v "grep"| wc -l

echo "==== date +%Y/%m/%d/%H:%M ====" >> $LOG

if [ $RESULT -eq 0 ] ; then echo "$SERVICE stopped now , Try $SERVICE service start!" >> $LOG /etc/init.d/$SERVICE start >> $LOG

else echo "Service $SERVICE is alleady Starting" >> $LOG fi

One minute to read

シェルスクリプト:Apacheの再起動

/etc/init.d/httpd stop

sleep 2

PSNUM=ps aux | grep httpd | wc -l if [ ${PSNUM} -gt 1 ];then killall httpd ;fi

sleep 2

/etc/init.d/httpd start if [ $? -eq 0 ];then echo "Apache restart OK";else service httpd start;exit 9;fi

One minute to read

シェルスクリプト:expectでSSH自動ログイン

expect コマンドを実行

expect -c "

タイムアウト値の指定

set timeout 20

spawnで新しいジョブ生成

spawn ssh ユーザー名@IPアドレス

login

expect password: send "パスワード\n"

spawnジョブを通常の通信にする

interact "

One minute to read

シェルスクリプト:FTPのダウンロードを自動化

echo -n "FTP Server Name:" read FTPSVRNAME

if [ ! -n "${FTPSVRNAME}" ];then echo "Plase Type FTP Server Name.";exit;fi

echo -n "FTP User Name:" read FTPUSRNAME

if [ ! -n "${FTPUSRNAME}" ];then echo "Plase Type FTP Server Name.";exit;fi

echo -n "FTP User Pass:" read FTPUSRPASS

if [ ! -n "${FTPUSRPASS}" ];then echo "Plase Type FTP Server Name.";exit;fi

echo -n "Download Server Path:" read DLSVRPATH

wget -N -r –output-file=./log/${FTPSVRNAME}_date +%Y%m%d.log –user=${FTPUSRNAME} –password=${FTPUSRPASS} ftp://${FTPSVRNAME}/${DLSVRPATH}

One minute to read

シェルスクリプト:KVMゲストOSのVNCディスプレイを一括で表示させる

GUESTNAME=virsh list |grep -v "Id"| sed -e 's/----------------------------------------------------//'|cut -c5-|sed -e 's/実行中//'

echo " " echo " HostName VNC Display Number" echo "—————————————–"

for i in $GUESTNAME do VNC=virsh vncdisplay $i echo -e "$i\t\t$VNC" done

echo " " 結果表示 [#s756416d]

One minute to read

シェルスクリプト:mysqldumpバックアップ

FILESVR=/mnt/backup

if [ -e $FILESVR ] ; then mysqldump -uユーザー -pパスワード –events -x –all-databases | gzip > /mnt/backup/database/mysqldump.date +%w.sql.gz else echo date +%Y/%m/%d/%H:%M" Mysqldump backup failed ">> /var/log/backup.log fi リモート先へSSHでコピーしながらdumpをバックアップ [#b76f1ba5]

One minute to read

シェルスクリプト:MySQLでmod_log_sqlで使用されるテーブルをリネーム

Weekly var

DATE00=date +%d #DATE00=8

case ${DATE00} in [0][1-7]|[1-7] ) DATE01=_01 ;; [0][8-9]|[8]|[9]|[1][0-4] ) DATE01=_02 ;; [1][5-9]|[2][0-1] ) DATE01=_03 ;; [2][2-8] ) DATE01=_04 ;; [2][9]|[3][0-1] ) DATE01=_05 ;; esac

Date Var

DATE02=date +%Y%m | cut -c3-${DATE01} DATE03=date +%Y%m --date '-6 month' | cut -c3-${DATE01} DATE04=date +%Y%m --date '-6 month' | cut -c3-

DataBase Var

#DB01="test01 test02 test03" DB01="データベース01 データベース02 データベース03"

SQL01="rename table access_log to access_log_${DATE02};" SQL02="drop table access_log_${DATE03};" SQL03="drop table access_log_${DATE04};"

Rename table & drop table 6 month ago

for ARG01 in ${DB01} do mysql -u root -pパスワード ${ARG01} -e "${SQL01}" mysql -u root -pパスワード ${ARG01} -e "${SQL02}" mysql -u root -pパスワード ${ARG01} -e "${SQL03}" done

One minute to read