3,728
回編集
差分
Backup
,→タイムゾーンを確認する
== てぷノートのデータのバックアップ ==
=== 概要 ===
* UbuntuサーバーのPostgresのtep5_productionをバックアップする
* 毎日午前0時(0時00分)と午後12時(12時00分)に実行されるようにスケジュールした
* plain形式、テキスト形式のSQLスクリプトとしてデータベースの内容をバックアップ
=== タイムゾーンを確認する ===
timedatectl status
サーバーのタイムゾーンを日本時間(JST)に設定するには、以下のコマンドを使用する
sudo timedatectl set-timezone Asia/Tokyo
=== cronジョブ設定 ===
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のような形式</nowiki>
ログの確認
$ grep CRON /var/log/syslog
=== ローカルからリモートに接続しコピーする ===
chmod +x usb_sync_tep_dump.sh
bin ディレクトリへのパスを ~/.bashrc の設定ファイルに追加するまたは ~/.bash_profile または ~/.zshrc などの設定ファイルに追加する echo 'export PATH=$PATH:/Users/jq/bin' >> ~/.bashrczshrc
この手順によって、/Users/jq/bin ディレクトリ内にあるスクリプトが、どのディレクトリからでも実行できるようになる
% usb_sync_tep_dump.sh
シェルの確認方法
<nowiki>% ls -a ~ | grep .zshrc
.zshrc
</nowiki>
注意
変更は現在のシェルセッションに対してのみ有効。新しいターミナルセッションを開始するか、既存のセッションを再起動することで、変更がすべてのセッションに反映される。
=== ローカルで予約する ===
cronの設定を編集
% crontab -e
エディタが開くので、次を追加する。毎日12:30と00:30にスクリプトを実行する設定。
MacOSでは >/tmp/stdout.log 2>/tmp/stderr.logを書かないとログが出力されない。
30 0,12 * * * /bin/bash /Users/jq/bin/usb_sync_tep_dump.sh >/tmp/stdout.log 2>/tmp/stderr.log
確認
crontab -l
ログの確認
log show --process cron
[[Category:memo|{{PAGENAME}}]]