2011-09-02 1 views
0

私はsevrerをバックアップするためにbashスクリプトを作成しようとしていますが、空のtarアーカイブと空のsqlファイルが作成されています。誰もがここで問題を見ることができますか?私はあなただけのgzipラインで-cが欠けていると思うBashバックアップスクリプト

#!/bin/bash 
SERVER_DIR="/var/www/vhosts/site.org" 
DATE=$(date +"%d-%m-%Y") 
BACKUP_DIR="/backups/$DATE" 
NAME="full-$DATE" 

MYSQLUSER="admin" 
MYSQLPASS="pass" 
MYSQLDUMP="$(which mysqldump)" 
GZIP="$(which gzip)" 

mkdir -p $BACKUP_DIR 
tar -zcvf $BACKUP_DIR/$NAME.tar.gz $SERVER_DIR 
$MYSQLDUMP -u $MYSQLUSER -p$MYSQLPASS --all-databases | $GZIP -9 > $BACKUP_DIR/$NAME.sql 
find /backup/ -mtime +31 -exec rm -rf {} \; 
+0

は何も出力していませんか? –

+0

定義済みの変数を出力してみましたか?それらの値を使用して手動でバックアップコマンドを実行します(値によって置き換えられます)。 – AbiusX

+0

と$ BACKUP_DIR/$ NAMEをエコーし​​て、それが実際にあなたが望むものであることを確認できますか? –

答えて

2

、試してみてください。

$MYSQLDUMP -u $MYSQLUSER -p$MYSQLPASS --all-databases | $GZIP -c9 > $BACKUP_DIR/$NAME.sql.gz 
+0

ようこそ@gbp。私はあなたの分析に同意します。がんばろう。 – shellter

0

はあなたがSERVER_DIRへのアクセス権の許可を持っていることを確認= "の/ var/www /のバーチャルホスト/サイトですあなたがスクリプトを実行すると、.org "と表示されます。

0

/backupsに作成中ですが、古いバックアップは/backupから削除しています。最終的な結果はそれほど重要ではありませんが、数ヶ月でディスクがなくなります。

ディレクトリ名とファイル名の両方に日付を付けるのは便利ではありませんが、それはあなた次第です。

SQLファイル名には、接尾辞.gzが含まれているはずです。

whichを使用してMYSQLDUMPとGZIPを変数に入れることはほとんど役に立ちません。もしそれらがPATH上に見つかると、シェルはそれらも見つけます。シェルが何かを見つけることができない場合、どちらもwhichできません。

関連する問題