bashのワンライナー備忘録。

今回は、有効になっているNICのIPアドレスを取得するワンライナーです。
grep、awkやcutコマンドは使用していません。
ちなみに、IPv6は無視。

有効なNICすべて
 ifconfig | sed -n '/^[A-Za-z0-9]/ {N;/dr:/{;s/.*dr://;s/ .*//;p;}}'
NICを指定する場合
 ifconfig eth0 | sed -n '/^[A-Za-z0-9]/ {N;/dr:/{;s/.*dr://;s/ .*//;p;}}'
Tagged with:  

CentOSでlhaを解凍

On 2011/10/27, in Linux, by matakichi

lha形式で配布されているWordpressテーマをインストールする際に、一度Windows PCで展開してSFTPなりでアップロードするのも何なのでCentOSでlhaを扱えるようパッケージを導入しました。
自分用の備忘録として記録。

Continue reading »

Tagged with:  

昨日の教訓を踏まえ、WEBやDNSの設定ファイル、データベースをバックアップするスクリプトを作成しました。
せっかくなので公開します。

#/bin/sh
#=========================================================
#
#  matakichi.info バックアップスクリプト
#
#  FileName:
#     server_backup.sh
#
#  Description:
#     webコンテンツ、データベース、DNS各種のバックアップを
#     作成。
#
#  Usage:
#     cronに登録
#     server_backup.sh
#
#  制限・前提:
#
#  Version:
#     Ver 1.0 2011/10/25  matakichi
#
#  MEMO:
#
#=========================================================
unset LANG
# バックアップ作成先
BACKUPDIR="/opt/backup"
# データベース root パスワード
DBROOTPASS="1234qwerasdf"
# バックアップ対象のDB
BACKUP_DB=("mysql" "mdialog")
#---------------------------------------------------------
mkdir -p ${BACKUPDIR}
cd ${BACKUPDIR}
mkdir -p ./var
mkdir -p ./etc

# 1. /var/www
rsync -av --delete /var/www/ ./var/www

# 2. /var/named
rsync -av --delete --exclude="/chroot/proc/" /var/named/ ./var/named

# 3. /etc/ssh
rsync -av --delete /etc/ssh ./etc/ssh

# 4. /etc/httpd
rsync -av --delete /etc/httpd ./etc/httpd

# 5. /etc/my.cnf
cp -a /etc/my.cnf ./etc/my.cnf

# 6. データベースのダンプ
for (( i = 0; i < ${#BACKUP_DB[@]}; ++i ))
do
        mysqldump ${BACKUP_DB[i]} -uroot -p${DBROOTPASS} --add-drop-database --databases > ${BACKUPDIR}/${BACKUP_DB[i]}.sql
done

# 圧縮
tar zcf ${BACKUPDIR}/backup_`date +%Y%m%d%H0000`.tar.gz *.sql ./etc ./var

# 一週間前のファイルを削除
rm -f ${BACKUPDIR}/backup_`date --date '1 week ago' +%Y%m%d%H0000`.tar.gz

# ファイルの削除
rm -f ${BACKUPDIR}/*.sql

exit 0

上記のコードをサーバの適当な場所に設置し、chmod 755とかしてあげてcronに登録。
頻繁に更新しているわけでもないので、実行間隔は毎日2:00くらいで。

個人用途なのでこれで十分かと思っていますが、改良するとしたら、

  1. バックアップファイルの作成確認
  2. メール通知

でしょうか。

暇を見て変更したいと思います。

Tagged with: