add proxmox scripts

This commit is contained in:
Tykayn 2022-11-28 11:07:00 +01:00 committed by tykayn
parent 8eeaae960c
commit 228969dc81
5 changed files with 64 additions and 11 deletions

View File

@ -1,3 +1,4 @@
#!/bin/bash #!/bin/bash
# récupérer tous les borg backup de conteneurs de Rise
rsync tykayn@proxmox.coussinet.org:/poule/encrypted/* /media/tykayn/disque_usb/backup_rise/encrypted -avzP rsync tykayn@proxmox.coussinet.org:/poule/encrypted/* /media/tykayn/disque_usb/backup_rise/encrypted -avzP

View File

@ -27,10 +27,10 @@ echo "### ${today} start backup script " | tee -a $LOG_FILE_BACKUP 2>&1
# ====================== creation de borg backup # ====================== creation de borg backup
echo ' ' >> $LOG_FILE_BACKUP echo ' ' >> $LOG_FILE_BACKUP
echo "### ${today} | SOYOUSTART | start backup script soyoustart_borg.sh " | tee -a $LOG_FILE_BACKUP 2>&1 echo "### ${today} | RISE | start backup script tksites_borg.sh " | tee -a $LOG_FILE_BACKUP 2>&1
borg create $BORG_FOLDER_RISE::soyoustart_{user}-{now} $MASTODON_FOLDER_RISE --exclude '.bundler/gems' --exclude 'node_modules' --exclude '/home/mastodon/live/public/system/cache/*' --stats --progress --verbose --stats --compression zlib,9 | tee -a $LOG_FILE_BACKUP 2>&1 borg create $BORG_FOLDER_RISE::soyoustart_{user}-{now} $MASTODON_FOLDER_RISE --exclude '.bundler/gems' --exclude 'node_modules' --exclude '/home/mastodon/live/public/system/cache/*' --stats --progress --verbose --stats --compression zlib,9 | tee -a $LOG_FILE_BACKUP 2>&1
# ====================== nettoyage # ====================== nettoyage
borg prune -v --list --stats --keep-daily=6 --keep-weekly=4 --keep-monthly=3 --keep-yearly=2 /$BORG_FOLDER_SOYOUSTART | tee -a $LOG_FILE_BACKUP 2>&1 borg prune -v --list --stats --keep-daily=6 --keep-weekly=4 --keep-monthly=3 --keep-yearly=2 $BORG_FOLDER_RISE | tee -a $LOG_FILE_BACKUP 2>&1
echo "### ${date} | SOYOUSTART | done borg_spaceship.sh " | tee -a $LOG_FILE_BACKUP 2>&1 echo "### ${date} | SOYOUSTART | done borg_spaceship.sh " | tee -a $LOG_FILE_BACKUP 2>&1

View File

@ -11,7 +11,12 @@
# #
today=$(date +"%Y-%m-%d_%H-%I-%S") today=$(date +"%Y-%m-%d_%H-%I-%S")
LOG_FILE_BACKUP=/poule/encrypted/log_backup_rise.log LOG_FILE_BACKUP=/poule/encrypted/log_backup_rise.log
# destination
BORG_FOLDER_RISE=/poule/encrypted/peertube BORG_FOLDER_RISE=/poule/encrypted/peertube
# sources
NGINX_FOLDER_RISE=/poule/subvol-101-disk-0/etc/nginx
LETSENCRYPT_FOLDER_RISE=/poule/subvol-101-disk-0/etc/letsencrypt
PEERTUBE_FOLDER_RISE=/poule/subvol-101-disk-0/var/www/peertube PEERTUBE_FOLDER_RISE=/poule/subvol-101-disk-0/var/www/peertube
export BORG_PASSCOMMAND="cat /root/.borg-passphrase" export BORG_PASSCOMMAND="cat /root/.borg-passphrase"
@ -27,10 +32,10 @@ echo "### ${today} start backup script " | tee -a $LOG_FILE_BACKUP 2>&1
# ====================== creation de borg backup # ====================== creation de borg backup
echo ' ' >> $LOG_FILE_BACKUP echo ' ' >> $LOG_FILE_BACKUP
echo "### ${today} | SOYOUSTART | start backup script soyoustart_borg.sh " | tee -a $LOG_FILE_BACKUP 2>&1 echo "### ${today} | RISE | start backup script peertube_borg.sh " | tee -a $LOG_FILE_BACKUP 2>&1
borg create $BORG_FOLDER_RISE::soyoustart_{user}-{now} $PEERTUBE_FOLDER_RISE --exclude '.bundler/gems' --exclude 'node_modules' --progress --verbose --stats --compression zlib,9 | tee -a $LOG_FILE_BACKUP 2>&1 borg create $BORG_FOLDER_RISE::soyoustart_{user}-{now} $PEERTUBE_FOLDER_RISE $NGINX_FOLDER_RISE $LETSENCRYPT_FOLDER_RISE --exclude '.bundler/gems' --exclude 'node_modules' --progress --verbose --stats --compression zlib,9 | tee -a $LOG_FILE_BACKUP 2>&1
# ====================== nettoyage # ====================== nettoyage
borg prune -v --list --stats --keep-daily=6 --keep-weekly=4 --keep-monthly=3 --keep-yearly=2 /$BORG_FOLDER_SOYOUSTART | tee -a $LOG_FILE_BACKUP 2>&1 borg prune -v --list --stats --keep-daily=6 --keep-weekly=4 --keep-monthly=3 --keep-yearly=2 $BORG_FOLDER_RISE | tee -a $LOG_FILE_BACKUP 2>&1
echo "### ${date} | SOYOUSTART | done borg_spaceship.sh " | tee -a $LOG_FILE_BACKUP 2>&1 echo "### ${date} | RISE | done peertube_borg.sh " | tee -a $LOG_FILE_BACKUP 2>&1

View File

@ -0,0 +1,42 @@
#!/bin/bash
# ------------- pour créer le dépot borg:
# borg init --encryption=repokey-blake2 /poule/encrypted/proxmox
# ------------- ajouter dans la crontab root
# sudo crontab -e
# # lancer toutes les 4 heures le script de création borg
# 0 */4 * * * bash /poule/encrypted/proxmox_borg.sh
#
# -------------
# config
#
today=$(date +"%Y-%m-%d_%H-%I-%S")
LOG_FILE_BACKUP=/poule/encrypted/log_backup_rise.log
# destination
BORG_FOLDER_RISE=/poule/encrypted/proxmox
# sources
PROXMOX_CONF_FOLDER_RISE=/etc/pve
NGINX_FOLDER_RISE=/etc/nginx
LETSENCRYPT_FOLDER_RISE=/etc/letsencrypt
export BORG_PASSCOMMAND="cat /root/.borg-passphrase"
# ====================== dossiers a sauvegarder ======================
# les bases de données sont sauvegardées avec automysqlbackup et autopostgresqlbackup
# les fichiers des sites web
# la config nginx
NGINX_FOLDER=/etc/nginx
echo ' ' >> $LOG_FILE_BACKUP
echo "### ${today} start backup script " | tee -a $LOG_FILE_BACKUP 2>&1
# ====================== creation de borg backup
echo ' ' >> $LOG_FILE_BACKUP
echo "### ${today} | RISE | start backup script proxmox_borg.sh " | tee -a $LOG_FILE_BACKUP 2>&1
borg create $BORG_FOLDER_RISE::soyoustart_{user}-{now} $PROXMOX_CONF_FOLDER_RISE $NGINX_FOLDER_RISE $LETSENCRYPT_FOLDER_RISE --stats --progress --verbose --stats --compression zlib,9 | tee -a $LOG_FILE_BACKUP 2>&1
# ====================== nettoyage
borg prune -v --list --stats --keep-daily=6 --keep-weekly=4 --keep-monthly=3 --keep-yearly=2 $BORG_FOLDER_RISE | tee -a $LOG_FILE_BACKUP 2>&1
echo "### ${date} | RISE | done proxmox_borg.sh " | tee -a $LOG_FILE_BACKUP 2>&1

View File

@ -11,9 +11,14 @@
# #
today=$(date +"%Y-%m-%d_%H-%I-%S") today=$(date +"%Y-%m-%d_%H-%I-%S")
LOG_FILE_BACKUP=/poule/encrypted/log_backup_rise.log LOG_FILE_BACKUP=/poule/encrypted/log_backup_rise.log
BORG_FOLDER_RISE=/poule/encrypted/peertube
# destination
BORG_FOLDER_RISE=/poule/encrypted/tksites
# sources
TKSITES_FOLDER_RISE=/poule/subvol-103-disk-0/home/www TKSITES_FOLDER_RISE=/poule/subvol-103-disk-0/home/www
NGINX_FOLDER_RISE=/poule/subvol-103-disk-0/etc/nginx NGINX_FOLDER_RISE=/poule/subvol-103-disk-0/etc/nginx
LETSENCRYPT_FOLDER_RISE=/poule/subvol-103-disk-0/etc/letsencrypt
AUTOMYSQLBACKUP_FOLDER_RISE=/poule/subvol-103-disk-0/etc/automysqlbackup AUTOMYSQLBACKUP_FOLDER_RISE=/poule/subvol-103-disk-0/etc/automysqlbackup
export BORG_PASSCOMMAND="cat /root/.borg-passphrase" export BORG_PASSCOMMAND="cat /root/.borg-passphrase"
@ -29,10 +34,10 @@ echo "### ${today} start backup script " | tee -a $LOG_FILE_BACKUP 2>&1
# ====================== creation de borg backup # ====================== creation de borg backup
echo ' ' >> $LOG_FILE_BACKUP echo ' ' >> $LOG_FILE_BACKUP
echo "### ${today} | SOYOUSTART | start backup script soyoustart_borg.sh " | tee -a $LOG_FILE_BACKUP 2>&1 echo "### ${today} | RISE | start backup script soyoustart_borg.sh " | tee -a $LOG_FILE_BACKUP 2>&1
borg create $BORG_FOLDER_RISE::soyoustart_{user}-{now} $TKSITES_FOLDER_RISE $NGINX_FOLDER_RISE $AUTOMYSQLBACKUP_FOLDER_RISE --exclude '.bundler/gems' --exclude 'node_modules' --progress --verbose --stats --compression zlib,9 | tee -a $LOG_FILE_BACKUP 2>&1 borg create $BORG_FOLDER_RISE::soyoustart_{user}-{now} $TKSITES_FOLDER_RISE $NGINX_FOLDER_RISE $AUTOMYSQLBACKUP_FOLDER_RISE $LETSENCRYPT_FOLDER_RISE --exclude '.bundler/gems' --exclude 'node_modules' --progress --verbose --stats --compression zlib,9 | tee -a $LOG_FILE_BACKUP 2>&1
# ====================== nettoyage # ====================== nettoyage
borg prune -v --list --stats --keep-daily=6 --keep-weekly=4 --keep-monthly=3 --keep-yearly=2 /$BORG_FOLDER_SOYOUSTART | tee -a $LOG_FILE_BACKUP 2>&1 borg prune -v --list --stats --keep-daily=6 --keep-weekly=4 --keep-monthly=3 --keep-yearly=2 $BORG_FOLDER_RISE | tee -a $LOG_FILE_BACKUP 2>&1
echo "### ${date} | SOYOUSTART | done borg_spaceship.sh " | tee -a $LOG_FILE_BACKUP 2>&1 echo "### ${date} | RISE | done soyoustart_borg.sh " | tee -a $LOG_FILE_BACKUP 2>&1