「Backup」の版間の差分
提供: wikipokpok
(→バックアップスクリプトにまとめて書いて実行プログラムにする) |
(→バックアップコマンドをスクリプトに書いて実行プログラムにする) |
||
63行目: | 63行目: | ||
chmod +x usb_sync_tep_dump.sh | chmod +x usb_sync_tep_dump.sh | ||
− | bin ディレクトリへのパスを ~/.bashrc | + | bin ディレクトリへのパスを ~/.bashrc または ~/.bash_profile または ~/.zshrc などの設定ファイルに追加する |
− | echo 'export PATH=$PATH:/Users/jq/bin' >> ~/. | + | echo 'export PATH=$PATH:/Users/jq/bin' >> ~/.zshrc |
設定を反映させる | 設定を反映させる | ||
− | source ~/. | + | source ~/.zshrc |
この手順によって、/Users/jq/bin ディレクトリ内にあるスクリプトが、どのディレクトリからでも実行できるようになる | この手順によって、/Users/jq/bin ディレクトリ内にあるスクリプトが、どのディレクトリからでも実行できるようになる | ||
% usb_sync_tep_dump.sh | % usb_sync_tep_dump.sh | ||
+ | |||
+ | シェルの確認方法 | ||
+ | <nowiki>% ls -a ~ | grep .zshrc | ||
+ | |||
+ | .zshrc | ||
+ | </nowiki> | ||
[[Category:memo|{{PAGENAME}}]] | [[Category:memo|{{PAGENAME}}]] |
2023年12月2日 (土) 10:38時点における版
目次
てぷノートのデータのバックアップ
概要
- 毎日午前0時(0時00分)と午後12時(12時00分)に実行されるようにスケジュールした
- plain形式、テキスト形式のSQLスクリプトとしてデータベースの内容をバックアップ
cronジョブ設定
ユーザーごとのcronジョブは、各ユーザーが自分自身のcronジョブを設定
crontab -e
0 0,12 * * * pg_dump -U jq tep5_production > ~/dump_data/$(date +\%Y-\%m-\%d_\%H:\%M:\%S).sql
上記の説明
0 0,12 * * * 毎日午前0時(0時00分)と午後12時(12時00分)に実行されるようにスケジュール
pg_dump: PostgreSQLデータベースのダンプを作成するためのコマンド。 -U jq: データベースに接続するためのユーザー名(ユーザーjq)。 tep5_production: ダンプを作成する対象のデータベース名。 > ~/dump_data/$(date +\%Y-\%m-\%d_\%H:\%M:\%S).sql: ダンプデータを指定されたディレクトリに保存します。$(date +\%Y-\%m-\%d_\%H:\%M:\%S)の部分は、現在の日時を取得し、その日時をファイル名に使用していることを示しています。例えば、2023-01-01_12:34:56.sqlのような形式
ローカルからリモートに接続しコピーする
ローカルのMacBookにUSBを挿して移動する
% cd /Volumes
% ls
% cd 'USBメモリー名'
% cd 'ディレクトリ名'
リモートマシンからUSBメモリーにディレクトリをコピーする
% scp -r jq:/home/jq/dump_data .
新しいファイルのみコピーする
% rsync -av --ignore-existing jq:/home/jq/dump_data/ .
バックアップコマンドをスクリプトに書いて実行プログラムにする
homeにbinディレクトリを作りプログラムを置く
# binディレクトリが存在しない場合は作成 mkdir -p bin # binディレクトリに移動 cd bin
ファイルを用意する
vim usb_sync_tep_dump.sh
シェルスクリプトを書く
#!/bin/bash # USBメモリがマウントされているディレクトリに移動 cd /Volumes/'USBメモリー名' # ディレクトリに移動 cd 'ディレクトリ名' # rsyncコマンドを実行 rsync -av --ignore-existing jq:/home/jq/dump_data/ .
実行権限を与える
chmod +x usb_sync_tep_dump.sh
bin ディレクトリへのパスを ~/.bashrc または ~/.bash_profile または ~/.zshrc などの設定ファイルに追加する
echo 'export PATH=$PATH:/Users/jq/bin' >> ~/.zshrc
設定を反映させる
source ~/.zshrc
この手順によって、/Users/jq/bin ディレクトリ内にあるスクリプトが、どのディレクトリからでも実行できるようになる
% usb_sync_tep_dump.sh
シェルの確認方法
% ls -a ~ | grep .zshrc .zshrc