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?

ラズパイからラズパイへSQliteの定期バックアップ方法 スクリプトコマンドを使用。

Last updated at Posted at 2025-01-16

環境

image.png

家の中の無線環境。
今回は
アプリ兼DBサーバ から ファイルサーバへDBのバックアップを行います。

バックアップするファイル

sqliteはこのdatabase.dbという中に入ってる。
image.png

ファイルサーバ側(バックアップデータを受け取る側)の設定

samba設定をする。
これやることでファイル共有できるようになる。

ちなみにラズパイファイルサーバの作り方

アプリ兼DBサーバの設定(バックアップするデータがある方)

コンソール画面開いてひらすらコマンド打ってく作業

ファイルサーバー(バックアップ先)への認証情報の設定

sudo nano /etc/samba/backup_credentials

これ書く

username=ここにユーザー名かく
password=ここにパスワードかく

バックアップスクリプト作る&書く

sudo nano /home/arisa/backup_sqlite.sh

これ書く

#!/bin/bash

# SQLiteデータベースの場所
SOURCE_DB="/home/arisa/Videos/database.db"

# 一時マウント先
MOUNT_POINT="/mnt/housework_db_back"

# Samba共有フォルダ
SHARE="//100.64.16.101/raid1"

# 認証情報ファイル
CREDENTIALS="/etc/samba/backup_credentials"

# 日付付きのバックアップファイル名
BACKUP_FILE="database_$(date +'%Y%m%d').db"

# 共有フォルダをマウント
if ! mountpoint -q "$MOUNT_POINT"; then
    sudo mount -t cifs -o credentials=$CREDENTIALS,iocharset=utf8,uid=$(id -u arisa),gid=$(id -g arisa),file_mode=0660,dir_mode=0770 "$SHARE" "$MOUNT_POINT"
fi

# バックアップをサブフォルダにコピー
if [ ! -d "$MOUNT_POINT/housework_db_back" ]; then
    mkdir "$MOUNT_POINT/housework_db_back"
fi

cp "$SOURCE_DB" "$MOUNT_POINT/housework_db_back/$BACKUP_FILE"

# パーミッションの設定
chmod 600 "$MOUNT_POINT/housework_db_back/$BACKUP_FILE"

# マウント解除
sudo umount "$MOUNT_POINT"


マウントポイントの作成

sudo mkdir -p /mnt/housework_db_back

systemdを再読み込み

sudo systemctl daemon-reload

スクリプトを定期実行するように設定します。

crontab -e
0 0 * * * /home/arisa/backup_sqlite.sh

スクリプトに実行権限を付与

sudo chmod +x /home/arisa/backup_sqlite.sh

スクリプトを手動で実行して動作確認します

/home/arisa/backup_sqlite.sh

できてるので成功。
image.png


cronジョブ(定期実行予定)が入っているか確認

crontab -l

もしジョブが設定されていない場合は↓

no crontab for arisa

ジョブ追加

crontab -e

追加内容
※毎日昼の13時にshファイル実行

0 13 * * * /home/arisa/backup_sqlite.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?