下記のスクリプトを適当なファイル名を付けて /etc/cron.daily 下に置きます。

#!/bin/bash

# バックアップファイルを何日分残しておくか設定
period=3

# バックアップファイルを保存するディレクトリ設定
dirpath='/backup'

# ファイル名を定義(ファイル名で日付がわかるようにしておきます)
filename=`date +%y%m%d`
type1="netcommons"
type2="data"

# mysqldump実行
mysqldump -u root -p<パスワード> --opt  $type1  >  $dirpath/$type1$filename.sql

# tar実行
tar  cz  /data  -f  $dirpath/$type2$filename.tar.gz

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

# 古いバックアップファイルを削除
oldfile=`date --date "$period days ago" +%y%m%d`
rm -f $dirpath/$type1$oldfile.sql
rm -f $dirpath/$type2$oldfile.tar.gz

exit 0


Last modified: Friday, 13 October 2023, 10:51 AM