bitnami CentOS Redmine -4 (補足

続き ここからはサーバ管理用の記述

 

ディスク容量定期監視メール

cd /home/testuser/
vi disk_chk.sh

#!/bin/sh

# 監視パーティション--実際のパーティション名に合わせること
# 下記、記述例はパーティションが下記のようにある前提
partition_1=/dev/mapper/centos-root
partition_2=/dev/mapper/centos-home
partition_3=/dev/sda1


# ディスク使用率閾値(%)
shikii_1=80
shikii_2=80
shikii_3=80

# 通知先メールアドレス
mailaddress="hoge@hoge.co.jp"

# メール送信用データ
srvname="hoge.example.com"
subject="$srvname Disk space alert"
maildata=`hostname && date && df -h`

#ディスクチェック処理
used_1=` df -h | grep $partition_1 | awk '{ print $5 }' | sed -e '$s/.$//' `
used_2=` df -h | grep $partition_2 | awk '{ print $5 }' | sed -e '$s/.$//' `
used_3=` df -h | grep $partition_3 | awk '{ print $5 }' | sed -e '$s/.$//' `

#閾値チェック1
if [ [ "$used_1" -lt "$shikii_1" ] ]
then
echo ok
else
mail -s "$subject" $mailaddress << MAILDATA
$maildata
MAILDATA
fi

#閾値チェック2
if [ [ $used_2 -lt $shikii_2 ] ]
then
echo ok
else
mail -s "$subject" $mailaddress << MAILDATA
$maildata
MAILDATA
fi

#閾値チェック3
if [ [ $used_3 -lt $shikii_3 ] ]
then
echo ok
else
mail -s "$subject" $mailaddress << MAILDATA
$maildata
MAILDATA
fi

 

mysql バックアップ

#cd /root
#mkdir mysql && mkdir mysql/backup
#vi backupmysql.sh

#!/bin/sh

# バックアップの保存期間(days)
period=7

# バックアップ保存用ディレクトリの指定
dirpath='/root/mysql/backup'

# バックアップ先フォルダがなければ作成
[ ! -d ${dirpath} ] && mkdir -p ${dirpath};


# ファイル名を指定する(※ファイル名で日付がわかるようにしておきます)
filename=`date +%Y%m%d`

# 指定したDBのスキーマおよびデータをすべて吐き出す -pのあとは空白入れない
mysqldump -u root -pMermpass -h localhost bitnami_redmine > $dirpath/$filename.sql

# パーミッション変更 chmod 700 $dirpath/$filename.sql

# 保存期間を過ぎたバックアップを削除
oldfile=`date --date "$period days ago" +%Y%m%d`
rm -f $dirpath/$oldfile.sql

中身を隠す
#chmod 0755 /root/backupmysql.sh

 

 

Redmine 添付ファイル等 バックアップ

cd /root
vi redmine_back.sh

#!/bin/sh

# バックアップの保存期間(days)
period=7

# バックアップ保存用ディレクトリの指定
dirpath='/root/mysql/backup'
##########
# バックアップ先
BAKDIR="/root/mysql/backup";
# バックアップ元 ( tar コマンドでエラーになるので先頭の / は外す )
SRCDIRS="
opt/redmine/apps/redmine/htdocs/files
opt/redmine/apps/redmine/htdocs/plugins
" ;


# バックアップ先フォルダがなければ作成
[ ! -d ${dirpath} ] && mkdir -p ${ dirpath } ;


# ファイル名を指定する(※ファイル名で日付がわかるようにしておきます)
filename=`date +%Y%m%d`

# バックアップ実行
cd /;
tar -czf ${BAKDIR}/`date +%Y%m%d`.attach.tar.gz ${SRCDIRS} 1> /dev/null;

# 保存期間を過ぎたバックアップを削除
oldfile=`date --date "$period days ago" +%Y%m%d` rm -f $dirpath/$oldfile.attach.tar.gz