![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
以下のようなシェルをcronで実行し、バックアップを取ろうとしているのですが、データベースのバックアップだけ、うまくいく場合と抜けてしまう場合があります。
下のシェルのどの部分を変えれば、データベースのバックアップも毎回ちゃんと取ってくれるようになるのでしょうか。
------------------------------
#!/bin/bash
NAME="name"
DBNAME="dbname"
DBUSER="dbuser"
DBPASS="dbpass"
HTML="/home/test/www/"
BACKUPDIR="/bakup/"
mkdir -p $BACKUPDIR$NAME
mkdir /tmp/backup-$NAME-`date +%Y%m%d`
mysqldump --databases $DBNAME > /tmp/backup-$NAME-`date +%Y%m%d`/bk.sql -u $DBUSER --password=$DBPASS --opt
( cd /tmp/backup-$NAME-`date +%Y%m%d` ; tar cf /tmp/backup-$NAME-`date +%Y%m%d`.tar . )
( cd $HTML; tar rf /tmp/backup-$NAME-`date +%Y%m%d`.tar . )
rm -r /tmp/backup-$NAME-`date +%Y%m%d`
gzip /tmp/backup-$NAME-`date +%Y%m%d`.tar
mv -f /tmp/backup-$NAME-`date +%Y%m%d`.tar.gz $BACKUPDIR$NAME
find $BACKUPDIR$NAME -type f -mtime +7 | xargs rm -f
------------------------------
それでは、宜しくお願いします!
No.1ベストアンサー
- 回答日時:
このスクリプトの実行中に日付が変わるって事はないでしょうね?
とりあえず、rm -rでファイルを消すのを止めて状況を見たらどうですか。それバックアップした際に、mysqldumpが上手く動いていないのか、あるいはそのあとのtarあたりが変なのか区別がつくと思います。あと、無駄が多いですね。
DATE=`date +%Y%m%d`
mkdir /tmp/backup-$NAME-$DATE
mysqldump --databases $DBNAME > /tmp/backup-$NAME-$DATE/bk.sql -u $DBUSER --password=$DBPASS --opt
tar cfz /tmp/backup-$NAME-$DATE.tar.gz -C /tmp/backup-$NAME-$DATE . -C $HTML .
mv -f /tmp/backup-$NAME-$DATE.tar.gz $BACKUPDIR$NAME
rm -r /tmp/backup-$NAME-$DATE
で済むんじゃないですか?
この回答への補足
ご回答ありがとうございます。
無駄まで省いて頂いて、助かります!
試してみたところ、どうやらmysqldumpでファイルが書き出される前に、圧縮されてしまうようです。
mysqldumpが終わるまで次の処理はおあずけって事はできないのでしょうか。
とりあえず、色々やって解決した感じです。
以下のように変える事で、今はうまくいってるようです。なぜかよくわかりませんが…
mysqldump --databases $DBNAME > /tmp/backup-$NAME-$DATE/bk.sql -u $DBUSER --password=$DBPASS --opt
↓
/usr/local/bin/mysqldump --databases $DBNAME > /tmp/backup-$NAME-$DATE/bk.sql -u $DBUSER --password=$DBPASS --opt
本当にありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- UNIX・Linux cronの@rebootでのdateコマンドの実行につきまして 2 2023/06/11 16:23
- UNIX・Linux Linuxのシェル関数を作成して要件を満たす方法 1 2022/11/19 20:33
- JavaScript gasについて 1 2022/05/31 21:51
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- PHP プログラムコードを入力する場合改行してもいいですか? 2 2022/10/02 16:05
- PHP $filePath = './user_img/' . $file['name'];? 1 2022/12/10 07:29
- PHP 掲示板を資料を参考にして開発中ですが、画像がアップされません? 1 2022/11/21 06:44
- 英語 自己紹介は、My name is ~ か、I am ~ か 6 2023/02/27 08:10
- PHP 'member_picture/'に/がありますが 、「スラッシュ」は必要でしょうか? 1 2022/11/27 04:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データバックアップ フリーソフ...
-
win10の32bitから64bit変換
-
time machineでのバックアップ...
-
serverのバックアップテープ空...
-
EaseUS todo backup home12.0に...
-
WINDOWS10でブリーフケース
-
MAC time machine は常時接続し...
-
iPhoneのバックアップデータの...
-
タイムマシーンの扱い方
-
outlook2013起動時の自動バック...
-
windows98のプロダクトキー
-
BIOSのバックアップ
-
WIN10のイメージバックアップに...
-
「アロケーションのオーバーラ...
-
ハードディスク初期化、バック...
-
データベースのバックアップだ...
-
MacBookを使ってiPhoneのバック...
-
Cドライブ、Dドライブを丸ごと...
-
rsyncコマンドによるスクリプト...
-
対向装置とは、どんな装置でし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データバックアップ フリーソフ...
-
TimeMachine常時接続しておかな...
-
WINDOWS10でブリーフケース
-
EaseUS todo backup home12.0に...
-
outlook2013起動時の自動バック...
-
win10の32bitから64bit変換
-
time machineが自動で上書きさ...
-
MAC PRO EARLY 2008 タイムマシ...
-
Mac book proの寿命は何年です...
-
PCからシャッターを切るような異音
-
V2i Protectorの使い勝手
-
回復ドライブって 作るのに時間...
-
同じPC二台を購入。PC1のフルバ...
-
OSを再インストールする時にバ...
-
Time Machineバックアップでき...
-
パソコンでバックアップの取り...
-
MacのTimeMachineを使っている...
-
タイムマシーン SDカードの中...
-
筆グルメのデータの移動の仕方...
-
TimeMachine用のハードディスク...
おすすめ情報