LoginSignup
3
2

More than 1 year has passed since last update.

ShellScriptでバックアップを作成

Last updated at Posted at 2022-07-16

Zabbixのデータベースをバックアップする方法(shellscript)

ShellScriptが苦手で日々勉強中です。
他の書き方もあるので是非シェアしていただきたいです。

ShellScriptの書き方(Zabbixの場合)

#!/bin/bash

DATE=`date "+%Y%m%d"`
BAKDIR=/mariadb_backup


# バックアップするDBの情報
DB_USER=zabbixuser
DB_PASS=zabbixpass
DB_NAME=zabbix

# mysqldumpコマンドでDBをバックアップ
mysqldump -u ${DB_USER} -p${DB_PASS} ${DB_NAME} > ${BAKDIR}/${DB_NAME}_${DATE}.bak

# パーミッションの設定
chmod 755 ${BAKDIR}/${DB_NAME}_${DATE}.bak

# バックアップ日のログを保存する
l="${BAKDIR}/db.log" ←ご助言をいただき変更しました。
echo backup as ${BAKDIR}/${DB_NAME}_${DATE}.bak at ${DATE}>>$l

# 7日より古いファイルを削除
find ${BAKDIR} -type f -name "${DB_NAME}_*.bak" -mtime +7 -exec rm -f {} \;

# 30日より古いlogファイルを削除
find ${BAKDIR} -type f -name “backup as ${BAKDIR}/${DB_NAME}_${DATE}.bak at ${DATE}-mtime +30 -exec rm -f {} \;

時間を決めて実行する方法

crontabコマンドを使用します。

crontab -e の設定 3amに設定
0 3 * * * sh /home/zabbix_bak.sh  > /dev/null 2>&1
3
2
2

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
3
2