LoginSignup
1
0

More than 5 years have passed since last update.

Redmineのバックアップ ~パスワード入力不要でPostgreSQLをバックアップ~

Last updated at Posted at 2019-02-19

Redmineのバックアップスクリプトで、
PostgreSQLのパスワード入力をスキップする方法があったので、備忘として記載します。

1. ".pgpass" ファイルの作成

公式ドキュメントによると、ユーザのホームディレクトリにパスワードを保存可能な旨記載があるので、".pgpass"ファイルに以下の書式で作成していきます。

hostname:port:database:username:password

バックアップユーザのホームディレクトリに移動し、".pgpass" ファイルを作成します。

$ cd ~
$ echo "*:*:*:*:password" > .pgpass

権限はグループ、他のユーザアクセスをすべて拒否する必要があるため(緩くするとファイルは無視される)、必要最小限の権限(600)に変更します。

$ sudo chmod 0600 ~/.pgpass

2. バックアップファイル保存フォルダ作成

$ mkdir ~/backup

3. スクリプト作成

$ cat redmine_backup.sh
#!/bin/sh

pg_dump -U redmine -h localhost  -Fc -c -f ~/backup/db_redmine_`date "+%Y%m%d_%H%M%S"`.car redmine
tar -zcvf ~/backup/files_`date "+%Y%m%d_%H%M%S"`bak.tar.gz /var/lib/redmine

find -name "db_redmine_*" -mtime +30 -exec rm {} \;
find -name "files_*" -mtime +30 -exec rm {} \;

※別のサーバにデータを退避する必要がある場合は、rsyncコマンド等を追加してください。

4. 実行権付与

$ chmod +x redmine_backup.sh

5. cronによるスケジューリング

毎日2時にバックアップスクリプトを実行します。

$ crontab -e
00 2 * * * /作成したスクリプトの配置場所/.redmine_backup.sh

参考サイト

1
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
1
0