以下のようなシェルを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ランキング
-
データバックアップ フリーソフ...
-
パソコンのデータについて
-
Macbookの動作が最近重い。。。
-
WINDOWS10でブリーフケース
-
Time machineを2台のHDDで使う
-
PC丸ごとバックアップ
-
EaseUS todo backup home12.0に...
-
G5の内蔵ハードディスクの容量...
-
OSの再インストールについて
-
PCからシャッターを切るような異音
-
Acronis True Image Personal2
-
どんなmacを購入すべきでしょう...
-
外付けHDが読み取り専用
-
Windws 10 の「バックアップ・...
-
Out look のバックアップに失敗...
-
Time Machine内の違うiMacのバ...
-
OSXを起動しても画面が真っ青
-
time machineバックアップ元
-
pcの再セットアップ後の手順
-
バックアップソフト
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データバックアップ フリーソフ...
-
win10の32bitから64bit変換
-
TimeMachine常時接続しておかな...
-
WINDOWS10でブリーフケース
-
EaseUS todo backup home12.0に...
-
MAC PRO EARLY 2008 タイムマシ...
-
Mac book proの寿命は何年です...
-
time machineでのバックアップ...
-
outlook2013起動時の自動バック...
-
回復ドライブって 作るのに時間...
-
SSDをUSB2.0で外付けドライブの...
-
ASUS X541S(Win10)ノートPCを使...
-
バックアップにかかる時間
-
システムのバックアップに付いて
-
PCからシャッターを切るような異音
-
iPhoneのバックアップデータの...
-
テープの残り容量を調べるコマ...
-
Acronis の再起動方法
-
EaseUS Todo Backupエラーについて
-
パソコンの設定を数時間前(数...
おすすめ情報