aptにてインストール。
user@Jetson $ sudo apt-get update
user@Jetson $ sudo apt-get install syncthing apt-transport-https
設定。Syncthingを起動するユーザーで一度Syncthingを起動して止めることでconfig.xmlができる。
user@Jetson $ syncthing
^c
user@Jetson $
config.xmlを編集。
user@Jetson $ cd
user@Jetson $ sudo nano .config/syncthing/config.xml
ローカル以外から設定のWeb画面にアクセスするには下記のように変更。
<gui enabled="true" tls="false" debugging="false">
<address>127.0.0.1:8384</address>
↓
<gui enabled="true" tls="false" debugging="false">
<address>0.0.0.0:8384</address>
サービスとして起動する。"user"部は自分のユーザー名に変更。
user@Jetson $ systemctl enable syncthing@user.service
user@Jetson $ systemctl start syncthing@user.service
Jetson nanoではファイヤーウォールが設定されていない。必要であれば"ufw"のインストール。
sudo apt-get install ufw
ポート解放の設定。
sudo ufw allow ssh
sudo ufw allow 8384
sudo ufw reload
sudo ufw enable
sudo ufw status verbose
バックアップ対象は、
①アップロードされたファイル
→ growiのインストールフォルダ"/public/uploads"
②Mongodbのダンプファイル
の2件。
スクリプトでバックアップするため、ファイルを作成
"/usr/local/bin/backup-scripts/growi-backup.sh"
#!/bin/bash
# 変数
TODAY=`date +"%Y%m%d"`
INSTALL_PATH=/opt/growi
BACKUP_PATH=/var/backups/growi <-フォルダを事前に作成
# Backup
#### upload-files
tar -C ${INSTALL_PATH}/public -cf ${BACKUP_PATH}/upload-files.tar uploads
#### db-data
mongodump -d growi --gzip --archive=${BACKUP_PATH}/dbdump.gz
#### Archive-files+db
tar -C ${BACKUP_PATH} -zcvf ${BACKUP_PATH}/${TODAY}_growi-backup.tar.gz upload-files.tar dbdump.gz
#### delete tmp-files
rm -fR ${BACKUP_PATH}/upload-files.tar
rm -fR ${BACKUP_PATH}/dbdump.gz
# Delete older 31days
find ${BACKUP_PATH} -name "*.tar.gz" -mtime +31 -delete
cronで自動起動するために、以下の行を追記。
crontab -e
15 4 * * * sh /usr/local/bin/backup-scripts/growi-backup.sh