MySQLのDBのバックアップ †
#!/bin/sh
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
KEEPDAY=3
TODAY=`date +'%y%m%d'`
DBDUMP_FILE=mysql.$TODAY
RMFILE=mysql.`date -v -"$KEEPDAY"d +%y%m%d`.gz
HOME_DIR=/home/user_name
BACKUP_DIR=$HOME_DIR/backup
cd $BACKUP_DIR
mysqldump -Q --host=mysql?.db.sakura.ne.jp --user=user_name --password=database_passwd database_name > $DBDUMP_FILE
gzip $DBDUMP_FILE >/dev/null 2>&1
if [ $? != 0 -o ! -e $DBDUMP_FILE ]; then
echo "SUCCESS! MAYBE!"
rm -f $RMFILE
exit 0
fi
シェルスクリプト †
IF文 †
条件が真(成立)の時は0を返し、偽(不成立)の時は1を返す?
if 条件
then
条件が成立した時に実行するコマンド
else
条件が不成立の時に実行するコマンド
fi
特殊な変数 †
| 変数 | 説明 |
| $n | nは数字であり、$0はシェルスクリプト名、以降$1、$2…は第1引数、第2引数…である。第10引数以降は${10}、${11}…で参照する。 |
| $# | 与えられた引数の個数 |
| $@ | $0以外の全ての引数("$@"のようにダブルクォーテーションで囲んだ場合"$1" "$2" …"のように個別に展開される。) |
| $* | $0以外の全ての引数("$@"のようにダブルクォーテーションで囲んだ場合"$1 $2 …"のように展開される。) |
| $? | 最後に実行したコマンドの終了ステータス |
| $! | 最後に実行したバックグラウンドコマンドのPID |
| $$ | シェルのPID |
| $- | 現在のオプションフラグ |
ファイル形式のチェック †
| -b ファイル名 | 指定したファイルがブロックデバイスファイルなら真である。 |
| -c ファイル名 | 指定したファイルがキャラクタデバイスファイルなら真である。 |
| -d ファイル名 | 指定したファイルがディレクトリなら真である。 |
| -f ファイル名 | 指定したファイルが通常ファイルなら真である。 |
| -L ファイル名 | 指定したファイルがシンボリックリンクなら真である。 |
| -p ファイル名 | 指定したファイルが名前付きパイプなら真である。 |
| -S ファイル名 | 指定したファイルがソケットなら真である。 |
ファイルパーミッションのチェック †
| -g ファイル名 | 指定したファイルにSGIDがセットされていれば真である。 |
| -k ファイル名 | 指定したファイルにスティッキービットがセットされていれば真である。 |
| -r ファイル名 | 指定したファイルが読み取り可能なら真である。 |
| -u ファイル名 | 指定したファイルにSUIDがセットされていれば真である。 |
| -w ファイル名 | 指定したファイルが書き込み可能なら真である。 |
| -x ファイル名 | 指定したファイルが実行可能なら真である。 |
その他のファイルのチェック †
| -e ファイル名 | 指定したファイルが存在すれば真である。 |
| -s ファイル名 | 指定したファイルのファイルサイズが0より大きければ真である。 |
文字列のチェック †
| -n 文字列 | 文字列の長さが0より大きければ真である。 |
| -z 文字列 | 文字列の長さが0であれば真である。 |
文字列のチェック †
| 文字列1 = 文字列2 2つの文字列が等しければ真である。 |
| 文字列1 != 文字列2 2つの文字列が等しくなければ真である。 |
数値のチェック †
| 数値1 -eq 数値2 | 2つの数値が等しければ真である。 |
| 数値1 -ge 数値2 | 数値1が数値2以上であれば真である。 |
| 数値1 -gt 数値2 | 数値1が数値2より大きいのであれば真である。 |
| 数値1 -le 数値2 | 数値1が数値2以下であれば真である。 |
| 数値1 -lt 数値2 | 数値1が数値2未満であれば真である。 |
| 数値1 -ne 数値2 | 2つの数値が等しくなければ真である。 |
論理結合 †
| !条件 | 条件が偽であれば真である。 |
| 条件1 -a 条件2 | 条件1と条件2の両方が真であれば真である。 |
| 条件1 -o 条件2 | 条件1と条件2のどちらかが真であれば真である。 |
Comment †
Counter: 6082,
today: 7,
yesterday: 0