システム管理コマンド
1. httpdが停止していたら自動起動
# /usr/bin/ps ax | grep -v grep | grep -q httpd || /usr/bin/systemctl start httpd.service
■実行と同時にメールを送信する場合
/usr/bin/ps ax | grep -v grep | grep -q httpd || (/usr/bin/systemctl start httpd.service && (echo 'Sent from www.example.jp' | mail -s 'Started httpd service.' xxxx@example.jp))
※このコマンドをcronで定期実行します。
2. メモリ使用率リストの表示
メモリ使用率の多いプロセスを上位から順番に10行表示します。
# ps alx | awk '{printf ("%d\t%s\n", $8,$13)}' | sort -nr | head -10
3. rootのスプールメールを空にするスクリプト
rootのスプールメールのファイルサイズが膨大になるので、整理するスクリプトです。
■処理の内容
- 「/var/__backup__/misc」に年月の6桁のディレクトリを作成。
- 「/var/spool/mail/root」を圧縮して上記ディレクトリに保存。
- 「/var/spool/mail/root」を空にする。
#!/bin/bash
#----- backup file save base directory -----
BACKUP_BASE_DIR=/var/__backup__/misc
MAIL_SPOOL_DIR=/var/spool/mail
#-------------------------------------------
#----- backup file save base directory -----
cd $BACKUP_BASE_DIR
#----- monthly date directory create -----
MONTH_DATE_VAL="$(date "+%Y%m")"
if [ ! -d $MONTH_DATE_VAL ]; then
mkdir $MONTH_DATE_VAL
fi
cd $MONTH_DATE_VAL
#----- get serial date value -----
TODAY_DATE_VAL="$(date "+%Y%m%d")"
SERIAL_DATE_VAL="$(date "+%s")"
#----- compress root mail spool files -----
FILENAME=spool_mail_root_${TODAY_DATE_VAL}.tar.gz
if [ -f $FILENAME ]; then
TEMP_FILENAME=${FILENAME}.${SERIAL_DATE_VAL}
mv $FILENAME $TEMP_FILENAME
fi
cd $MAIL_SPOOL_DIR
tar cvfz $BACKUP_BASE_DIR/$MONTH_DATE_VAL/$FILENAME root
cat /dev/null > root
上記スクリプトを「/root/empty_root_mail.sh」として、1週間に1回定期実行。
0 0 * * 1 /bin/bash /root/empty_root_mail.sh 2>/dev/null
4. サブディレクトリのディスク容量をリストアップ
サーバ内において、使用容量の大きなディスクをリスト表示します。
# du -k /* | sort -rn | head -10
※「head -10」は先頭から10行表示させる、という意味です。この数値を変更すれば、表示行数を変更できます。
5. ディスク容量の一覧をTUI(Text User Interface)で表示するコマンド
「ncdu」コマンドをインストールします。
# yum --enablerepo=epel install ncdu
6. Macシステムの作成する「.DS_Store」ファイルの削除
「.DS_Store」ファイルがセキュリティ監査でリスク「中」に判定されたので、削除を行う。
# find / -name '.DS_Store' -print -delete
最終更新:2023年06月22日 07:13