← Retour
#!/bin/bash
# Sync configs critiques vers O2switch
# Cron: 0 */2 * * * (toutes les 2h)
set -e
LOG="/var/log/o2switch-sync.log"
O2_HOST="o2switch"
O2_PATH="backup/configs"
TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')
echo "[$TIMESTAMP] Starting configs sync to O2switch..." >> $LOG
# Sync configs critiques
rsync -avz --delete \
/stock_8to/33800-stack/claude/ \
$O2_HOST:~/$O2_PATH/claude/ 2>> $LOG
rsync -avz --delete \
/stock_8to/33800-stack/docker/secrets/ \
$O2_HOST:~/$O2_PATH/secrets/ 2>> $LOG
rsync -avz \
/stock_8to/33800-stack/docker/stacks/*/docker-compose.yml \
$O2_HOST:~/$O2_PATH/stacks/ 2>> $LOG
rsync -avz --delete \
/stock_8to/33800-stack/scripts/ \
$O2_HOST:~/$O2_PATH/scripts/ 2>> $LOG
rsync -avz --delete \
/stock_8to/33800-stack/docs/ \
$O2_HOST:~/$O2_PATH/docs/ 2>> $LOG
rsync -avz \
/stock_8to/33800-stack/monitoring/config.json \
$O2_HOST:~/$O2_PATH/ 2>> $LOG
# Sync fichiers PHP O2switch (viewer, status, webhooks)
# Exclude dashboard/ (managed by git) and cdn/ (static assets)
rsync -avz --delete \
--exclude='dashboard/' \
--exclude='cdn/' \
/stock_8to/33800-stack/scripts/o2switch/public_html/ \
$O2_HOST:~/public_html/ 2>> $LOG
rsync -avz --delete \
/stock_8to/33800-stack/scripts/o2switch/scripts/ \
$O2_HOST:~/scripts/ 2>> $LOG
echo "[$TIMESTAMP] Configs synced to O2switch" >> $LOG