お世話になっております。
今回はsh、crontabについてです。よろしくお願いいたします。
運営しているサービスのバックアップを取ろうと思い、crontabを使って深夜に
バックアップを取ることにしたのですが、mysqldumpの結果が0Byteになります。
/backup/
にbackupdb.sh
を作成し、以下のように記述しました。
パーミッションは755です。
sh
1#!/bin/sh 2 3# バックアップの保存期間(日) 4period=7 5 6# バックアップ保存用ディレクトリ 7dirpath='/backup/db' 8 9filename=`date +%y%m%d` 10 11# 本来はdatebaseにデータベース名、userにユーザー名、passwordにパスワードが入っています。 12mysqldump datebase --single-transaction --host=127.0.0.1 --user=user --password=password > $dirpath/$filename.sql 13 14chmod 700 $dirpath/$filename.sql 15 16oldfile=`date --date "$period days ago" +%y%m%d` 17 18rm -f $dirpath/$oldfile.sql
これをコンソールで実行すると、/backup/db/
に160905.sql
のような形で保存されるのを確認しました。
内容も問題ありませんでしたので、これをcrontabに登録しました。
cron
100 1 * * * /backup/backupdb.sh
このように設定すると、午前1時にファイルは作成されますが中身が空になってしまいました。
何か記述がおかしな所はありますでしょうか?
ご回答よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/09/08 01:21