Mysql バックアップ スクリプトを作成しました。何か問題がないか見てみましょう。
これは私が書いた最初のシェル スクリプトです。ぜひ見てください。必要な方がいたら、彼に送ります。
このスクリプトを crontab に入れて、毎朝 1 回実行して自動バックアップを行うことができます。
このスクリプトは最大 1 日に 1 回のみ実行でき、サーバーには過去 5 日間のバックアップのみが保存されます。
コード:
[コード]
#!/bin/bash
#これは自動DBバックアップ用のシェルスクリプトです
#Powered by aspbiz
#2004-09
#設定
#データベース名、データベースログイン名、パスワード、バックアップを設定しますパス、ログ パス、データ ファイルの場所、およびバックアップ方法
#デフォルトでは、バックアップ方法は tar、mysqldump、mysqldotcopy です
#デフォルトでは、root (空) を使用して mysql データベースにログインし、/root にバックアップします/dbxxxxx.tgz
DBName=mysql
DBUser=root
DBPasswd=
BackupPath=/root/
LogFile=/root/db.log
DBPath=/var/lib/mysql/
#BackupMethod=mysqldump
#BackupMethod=mysqlhotcopy
#BackupMethod =tar
#設定終了
NewFile="$BackupPath"db$(date +%y%m%d).tgz
DumpFile="$BackupPath"db$(date +%y%m%d)
OldFile=" $BackupPath"db$(date +%y%m%d --date='5 日前').tgz
echo "------ --- -----------------------" >> $LogFile
echo $(date +"%y-%m-%d %H :%M: %S") >> $LogFile
echo "--------------------------" >> $LogFile
#古いファイルを削除
if [ -f $OldFile ]
then
rm -f $OldFile >> $LogFile 2>&1
echo "[$OldFile] 古いファイルの削除に成功しました!" else
echo "[$OldFile]古いバックアップ ファイルがありません!" $LogFile
fi
if [ -f $NewFile ]
then
echo "[$NewFile]バックアップ ファイルが存在します。バックアップできません! " >> ; $ Logfile
Lase
Case $ BackupMethod in
mysqldump)
if [-z $ dbpasswd]
mysqldump -U $ dbuser --opt $ dbname & gt; $ dumpFile