0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

crontabを使ったbackup設定

Posted at

用意する情報

サーバー情報
・rootユーザーのパスワード(crontabを作成するために、rootで入っておく)

DB情報
・DB名[DB_name]
・Mysqlユーザー名[DB_user]
・Mysqlパスワード[DB_password]

.bash
# rootユーザーとして、サーバーにログインする。

# バックアップをとりたいフォルダを作成する。
cd [your_project]
mkdir daily_backup
cd daily_backup

# バックアップを実行するシェルスクリプトを作成する
vi backup.sh

backup.sh
# !/bin/sh

# バックアップの保存期間(days)
period=7

# バックアップ保存用ディレクトリの指定
dirpath='/home/[your_project]/daily_backup'

# ファイル名を指定する(※ファイル名で日付がわかるようにしておきます)
filename="[your_project]_"`date +%y%m%d`

# 指定したDBのスキーマおよびデータをすべて吐き出す
mysqldump -u[DB_user] -p[DB_password] -hlocalhost [DB_name] > $dirpath/$filename.sql

# パーミッション変更
chmod 700 $dirpath/$filename.sql

gzip $dirpath/$filename.sql

# 保存期間を過ぎたバックアップを削除
appname="[your_project]_"
oldfile=`date +%y%m%d --date "$period days ago"`

ここで、テストとして

.bash
mysqldump -u[DB_user] -p[DB_password] -hlocalhost [DB_name] > backup_test.sql

ls -a

backup_test.sqlが作成されていれば、いよいよcrontabに追加する。

.bash

crontab -e

# 深夜1:50にバックアップを設定する。
50 01 * * * /home/[your_project]/daily_backup/backup.sh

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?