「これからのための気持ちの整理。 」

これからのことを考えています。本当に、本当にめんどうくさい、めんどくさい人間です。これからのために、気持ちの整理をします。

raspberry pi のバックアップスクリプトを作るときに参考にしたリンクと作業手順

qazsedcftf.blogspot.com

www.raspberrypi.org

こちらのリンクを参照してバックアップできました。

0. piでログイン

ssh等でログイン

1. バックアップディレクトリの作成

バックアップの作成先を作ります。

mkdir -p /path/to/your/backup/folder

2. バックアップ作業用のディレクトリにbackup.shを作成、編集、権限変更する。

任意のディレクトリ(今回はpiのhome下)にbackup作業用のディレクトリを追加し、backup.shを作成します。

mkdir -p ~/backup/logs
vim ~/backup/backup.sh
chmod 770 ~/backup/backup.sh

backup.sh

#!/bin/sh
#バックアップファイルの上限数
MAXFNUM=2

#バックアップ先のディレクトリ
BKDIR=/path/to/your/backup/folder

#バックアップファイル名
BKFNAME="rp4bup_"`date +%Y%m%d`.img.gz

#ログ出力先ディレクトリ
LOGDIR=/home/pi/backup/logs/

#ログファイル名
LOGFNAME="rp4bup_"`date +%Y%m%d`.log

#Log関数
outputLog() {
    echo $1 >  ${LOGDIR}${LOGFNAME}
}

#バックアップ実行
outputLog "Back Up start     : " `date '+%y/%m/%d %H:%M:%S'`
dd bs=4M if=/dev/mmcblk0 | gzip > ${BKDIR}${BKFNAME}
outputLog "Back Up Complete  : " `date '+%y/%m/%d %H:%M:%S'`


#古いバックアップファイルの削除
num=0
for FN in `ls -tl ${BKDIR}rp4bup_*img.gz | awk '{print $9}'`
do
        if [ ${num} -ge ${MAXFNUM} ];
                then
                        rm ${FN}
                        outputLog "delete " ${FN}
        fi
        num=$(($num+1))
done

3. cronの設定

backup.shを定期実行する設定を行います。 sudo権限で実行したいので、以下のコマンドでcronの設定を行います。

(cronに関して参考にした資料 www.express.nec.co.jp

sudo crontab -e

#cronの起動確認
/etc/rc.d/init.d/crond status
#cronの起動
/etc/rc.d/init.d/crond start
00 03 * * 1 sh /home/pi/backup/backup.sh