「Backup」を編集中

移動先: 案内検索

警告: ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。ログインまたはアカウントを作成すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 編集中の文章
1行目: 1行目:
== てぷノートのデータのバックアップ ==
+
== cronジョブ設定 ==
=== 概要 ===
 
* UbuntuサーバーのPostgresのtep5_productionをバックアップする
 
* 毎日午前0時(0時00分)と午後12時(12時00分)に実行されるようにスケジュールした
 
* plain形式、テキスト形式のSQLスクリプトとしてデータベースの内容をバックアップ
 
 
 
=== タイムゾーンを確認する ===
 
timedatectl status
 
 
 
サーバーのタイムゾーンを日本時間(JST)に設定するには、以下のコマンドを使用する
 
 
 
sudo timedatectl set-timezone Asia/Tokyo
 
 
 
=== cronジョブ設定 ===
 
 
ユーザーごとのcronジョブは、各ユーザーが自分自身のcronジョブを設定
 
ユーザーごとのcronジョブは、各ユーザーが自分自身のcronジョブを設定
 
  crontab -e
 
  crontab -e
27行目: 14行目:
 
> ~/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>
 
> ~/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>
  
ログの確認
+
== tepnote backup ==
$ grep CRON /var/log/syslog
 
 
 
=== ローカルからリモートに接続しコピーする ===
 
 
ローカルのMacBookにUSBを挿して移動する
 
ローカルのMacBookにUSBを挿して移動する
 
  % cd /Volumes
 
  % cd /Volumes
37行目: 21行目:
  
 
  % cd 'USBメモリー名'
 
  % cd 'USBメモリー名'
 
% cd 'ディレクトリ名'
 
  
 
リモートマシンからUSBメモリーにディレクトリをコピーする
 
リモートマシンからUSBメモリーにディレクトリをコピーする
 
  % scp -r jq:/home/jq/dump_data .
 
  % scp -r jq:/home/jq/dump_data .
 
新しいファイルのみコピーする
 
% rsync -av --ignore-existing jq:/home/jq/dump_data/ .
 
 
=== バックアップコマンドをスクリプトに書いて実行プログラムにする ===
 
homeにbinディレクトリを作りプログラムを置く
 
<nowiki># binディレクトリが存在しない場合は作成
 
mkdir -p bin
 
 
# binディレクトリに移動
 
cd bin</nowiki>
 
 
ファイルを用意する
 
vim usb_sync_tep_dump.sh
 
 
シェルスクリプトを書く
 
 
<nowiki>#!/bin/bash
 
 
# USBメモリがマウントされているディレクトリに移動
 
cd /Volumes/'USBメモリー名'
 
 
# ディレクトリに移動
 
cd 'ディレクトリ名'
 
 
# rsyncコマンドを実行
 
rsync -av --ignore-existing jq:/home/jq/dump_data/ .
 
</nowiki>
 
 
実行権限を与える
 
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
 
 
シェルの確認方法
 
<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}}]]
 
[[Category:memo|{{PAGENAME}}]]

wikipokpokへの投稿はすべて、クリエイティブ・コモンズ 表示-継承 (詳細はWikipokpok:著作権を参照)のもとで公開したと見なされることにご注意ください。 自分が書いたものが他の人に容赦なく編集され、自由に配布されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください。 著作権保護されている作品は、許諾なしに投稿しないでください!

このページを編集するには、下記の確認用の質問に回答してください (詳細):

取り消し | 編集の仕方 (新しいウィンドウで開きます)