workflow nextcloud shared
This commit is contained in:
parent
317fa59f67
commit
2aa10c4338
|
@ -1,55 +0,0 @@
|
|||
# these bash aliases are meant to be added in your user folder,
|
||||
# in a file named: .bash_aliases (with the dot at the beginning)
|
||||
# done for my blog http://www.cipherbliss.com
|
||||
|
||||
########## lieux ###########
|
||||
alias goserv='ssh monUtilisateur@monServeur.com/var/www/html'; # customise this one!
|
||||
###### lieux locaux
|
||||
alias gowork='cd /var/www/html/MON-PROJET-EN-COURS'; # customise this one!
|
||||
alias gowww='cd /var/www/html'
|
||||
################ symfony3 ######################
|
||||
alias sf='php bin/console';
|
||||
alias sfdsu='sf doctrine:schema:update --dump-sql';
|
||||
alias sfdsuf='sf doctrine:schema:update --force';
|
||||
alias sfcc='rm -rf app/cache/* && rm -rf app/logs/*';
|
||||
alias sfdcc='sf doctrine:cache:clear-metadata && sf doctrine:cache:clear-query && sf doctrine:cache:clear-result ';
|
||||
alias sfdge='sf doctrine:generate:entities Tykayn';
|
||||
alias sfdsv='sf doctrine:schema:validate';
|
||||
alias sfdges='sf doctrine:generate:entities Tykayn';
|
||||
alias sffuc='sf fos:user:change-password';
|
||||
alias c7='sudo chmod 777 -R';
|
||||
alias ptest='phpunit -c app';
|
||||
alias composer='/usr/local/bin/composer.phar';
|
||||
alias sfad='sf assetic:dump';
|
||||
alias sfai='sf assets:install';
|
||||
alias yre='yarn run encore --dev';
|
||||
alias yrep='yarn run encore --production';
|
||||
|
||||
################ system without graphic interface - command line ################
|
||||
alias basha='nano ~/.bash_aliases'; # éditer les alisas
|
||||
alias bashare='source ~/.bash_aliases'; # recharger les alias
|
||||
alias ainstall='sudo apt-get install'; # installer un programme
|
||||
alias apachere='sudo /etc/init.d/apache2 restart'; # apache restart
|
||||
alias apacheconf='sudo nano /etc/apache2/apache2.conf'; # fichier de config apache2
|
||||
alias phpini='sudo nano /etc/php5/apache2/php.ini'; # fichier de config de php5
|
||||
alias tfa='tail -f /var/log/apache2/error.log'; # suivi des erreurs apache
|
||||
alias aupg='apt-get update && apt-get upgrade';
|
||||
|
||||
################ système with X server ################
|
||||
alias phpini='sudo gedit /etc/php5/apache2/php.ini';
|
||||
|
||||
################ git helpers ################
|
||||
alias gci='git commit';
|
||||
alias gco='git checkout';
|
||||
alias gst='git status';
|
||||
alias gbr='git branch';
|
||||
alias gpull='git pull';
|
||||
alias gpush='git push';
|
||||
alias gpoush='git push'; # for slipping fingers
|
||||
alias glg='git log --pretty=oneline';
|
||||
alias myglg='git log --pretty=oneline --author=tykayn'; # log pour seulement mes commits, utile pour un stand up de projet Agile
|
||||
alias gaci='git add . --all && git reset -- *.spec.js && git commit -m '; # ajouter sans les tests js, donnez le message du commit entre guillemets suite à cette commande
|
||||
alias gaaci='git add . --all && git commit -m '; # ajouter sans les tests js
|
||||
|
||||
################ other helpers
|
||||
alias hgrep="history |grep"
|
|
@ -0,0 +1,139 @@
|
|||
# these bash aliases are meant to be added in your user folder,
|
||||
# in a file named: .bash_aliases (with the dot at the beginning)
|
||||
# done for my blog http://www.cipherbliss.com
|
||||
#!/bin/bash
|
||||
# these bash aliases are meant to be added in your user folder,
|
||||
# in a file named: .bash_aliases (with the dot at the beginning)
|
||||
# done for my blog http://www.cipherbliss.com
|
||||
|
||||
############################ current
|
||||
|
||||
alias work='cd ~/www/funky-framadate-front \
|
||||
nvm use 16 && yarn start'
|
||||
########## lieux ###########
|
||||
alias goserv='ssh monUtilisateur@monServeur.com/var/www/html'; # customise this one!
|
||||
alias dok="docker-compose"
|
||||
alias doc="dok"
|
||||
alias goc="cd /media/tykayn/catwoman"
|
||||
|
||||
###### lieux locaux
|
||||
alias gok='ssh tykayn@5.196.69.85'
|
||||
alias goj='ssh -p 3910 tykayn@bbb.liness.org'
|
||||
alias syncnas='export RSYNC_PASSWORD="blah_blah_blah" && rsync -avP --delete "$USER@192.168.1.8:/volume1/bidules_partagés/videos/*" /home/poule/medias/videos'
|
||||
alias findup='cd && sudo /usr/share/fslint/fslint/findup |grep a_ranger > duplicates_a_ranger.txt'
|
||||
alias netre='sudo service network-manager restart'
|
||||
alias dc='docker-compose'
|
||||
alias goa='ssh root@biliz.cluster.chapril.org'
|
||||
alias goo='cd ~/Nextcloud/textes/orgmode'
|
||||
################ symfony3 ######################
|
||||
alias sf='php bin/console';
|
||||
alias sfdsu='sf doctrine:schema:update --dump-sql';
|
||||
alias sfdsuf='sf doctrine:schema:update --force';
|
||||
alias sfcc='sf cache:clear';
|
||||
alias sfdcc='sf doctrine:cache:clear-metadata && sf doctrine:cache:clear-query && sf doctrine:cache:clear-result ';
|
||||
alias sfdge='sf doctrine:generate:entities';
|
||||
alias sfdsv='sf doctrine:schema:validate';
|
||||
alias sfdges='sf doctrine:generate:entities';
|
||||
alias sffuc='sf fos:user:change-password';
|
||||
alias c7='sudo chmod 777 -R';
|
||||
alias ptest='phpunit -c app';
|
||||
alias composer='/usr/local/bin/composer.phar';
|
||||
alias sfad='sf assetic:dump';
|
||||
alias sfai='sf assets:install';
|
||||
alias yre='yarn run encore --dev';
|
||||
alias yrep='yarn run encore --production';
|
||||
|
||||
################ system without graphic interface - command line ################
|
||||
alias basha='nano ~/.bash_aliases'; # éditer les alisas
|
||||
alias bashare='source ~/.bash_aliases'; # recharger les alias
|
||||
alias ainstall='sudo apt-get install'; # installer un programme
|
||||
alias apachere='sudo /etc/init.d/apache2 restart'; # apache restart
|
||||
alias apacheconf='sudo nano /etc/apache2/apache2.conf'; # fichier de config apache2
|
||||
alias phpini='sudo nano /etc/php8/apache2/php.ini'; # fichier de config de php8
|
||||
alias tfa='tail -f /var/log/nginx/*.log'; # suivi des erreurs apache
|
||||
alias aupg='sudo apt-get autoremove && sudo apt-get autoclean && sudo apt-get update -y && sudo apt-get upgrade -y';
|
||||
|
||||
################ système with X server ################
|
||||
alias phpini='sudo gedit /etc/php8/apache2/php.ini';
|
||||
|
||||
################ git helpers ################
|
||||
alias gci='git commit';
|
||||
alias gco='git checkout';
|
||||
alias gst='git status';
|
||||
alias gbr='git branch';
|
||||
alias gpull='git pull';
|
||||
alias gpush='git push';
|
||||
alias gpoush='git push'; # for slipping fingers
|
||||
alias glg='git log --pretty=oneline';
|
||||
alias myglg='git log --pretty=oneline --author=tykayn'; # log pour seulement mes commits, utile pour un stand up de projet Agile
|
||||
alias gaci='git add . --all && git commit -m '; # ajouter sans les tests js, donnez le message du commit entre guillemets suite à cette commande
|
||||
alias gacio='goo && git add . --all && git commit -m "update orgmode files" && cd -'
|
||||
alias gaaci='git add . --all && git commit -m '; # ajouter sans les tests js
|
||||
alias mysr='mysql -uroot -p';
|
||||
################ other helpers
|
||||
alias hgrep="history |grep"
|
||||
alias whatport="sudo netstat -pna | grep "
|
||||
alias runport="firefox https://localhost:$1"
|
||||
|
||||
export RUBY_ENV=devlopment
|
||||
#cd /media/tykayn/catwoman/stockage-syncable
|
||||
export GIT_AUTHOR_NAME="Tykayn";
|
||||
export GIT_AUTHOR_EMAIL="contact@cipherbliss.com";
|
||||
|
||||
#export BORG_PASSCOMMAND="cat ~/.borg-passtk4to"
|
||||
export NVM_DIR="$HOME/.nvm"
|
||||
|
||||
alias python=python3
|
||||
alias py=python3
|
||||
alias ydl="yt-dlp -o '%(title)s.f%(format_id)s.%(ext)s' "
|
||||
alias ydla="yt-dlp -o '%(title)s.f%(format_id)s.%(ext)s' "
|
||||
alias oklm="killall gajim telegram-desktop signal-desktop dino-im"
|
||||
|
||||
|
||||
|
||||
# enable color support of ls and also add handy aliases
|
||||
if [ -x /usr/bin/dircolors ]; then
|
||||
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
|
||||
alias ls='ls --color=auto'
|
||||
#alias dir='dir --color=auto'
|
||||
#alias vdir='vdir --color=auto'
|
||||
|
||||
alias grep='grep --color=auto'
|
||||
alias fgrep='fgrep --color=auto'
|
||||
alias egrep='egrep --color=auto'
|
||||
fi
|
||||
|
||||
# colored GCC warnings and errors
|
||||
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
|
||||
|
||||
# some more ls aliases
|
||||
alias ll='ls -alF'
|
||||
alias la='ls -A'
|
||||
#alias l='ls -CF'
|
||||
alias l="exa -lh --git --all"
|
||||
|
||||
nvm use 16
|
||||
node --version
|
||||
|
||||
|
||||
export PATH=~/.local/bin:$PATH
|
||||
export PATH="$HOME/.emacs.d/bin:$HOME/.symfony/bin:$PATH"
|
||||
CURRENT_YEAR="2022"
|
||||
# fix mastodon development
|
||||
# export LD_PRELOAD=libjemalloc.so
|
||||
export RAILS_ENV=development
|
||||
|
||||
########## ---------------- syncro disks ------------------------------------------------------ ##########
|
||||
echo "load functions to sync files"
|
||||
source ~/Nextcloud/ressources/workflow_nextcloud/functions_sync.sh
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
|
||||
export HISTTIMEFORMAT="%d/%m/%y %T "
|
||||
export EDITOR=nano
|
||||
export HUGO_BASE_DIR="~/Nextcloud/textes/hugo"
|
||||
export PATH=/snap/bin:$PATH
|
||||
|
||||
|
||||
# gestion elixir version ASDF
|
||||
. ~/.asdf/asdf.sh
|
|
@ -0,0 +1,22 @@
|
|||
#/bin/bash
|
||||
#
|
||||
# touch $ARCHIVE_SYNCABLE/.tk-borg-passphrase-light
|
||||
# remplir le fichier avec les données prises depuis bitwarden
|
||||
#
|
||||
# bash /home/tykayn/Nextcloud/projets/rangement/borg_mount.sh
|
||||
#
|
||||
# l'archive borg fait 1.3 To
|
||||
#
|
||||
echo "monter le borg backup de /home/poule/borg_archives/backup_land4to dans /media/$USER/backup_land4to"
|
||||
|
||||
export ARCHIVE_SYNCABLE="/home/poule/encrypted/stockage-syncable" # place where we have our things sorted, other than home
|
||||
export BORG_PASSCOMMAND="cat /home/$USER/.tk-borg-passphrase-light" # get the borg repo pass
|
||||
export MEDIA_BORG_REPO="/media/$USER/chaton/borg_archives/backup_land4to"
|
||||
|
||||
|
||||
mkdir /media/$USER/tmp_mount_borg
|
||||
|
||||
borg mount /media/$USER/chaton/backup_land4to /media/$USER/tmp_mount_borg
|
||||
ls -l /media/$USER/tmp_mount_borg
|
||||
|
||||
echo "dossier borg monté dans /media/$USER/tmp_mount_borg"
|
|
@ -0,0 +1,24 @@
|
|||
#/bin/bash
|
||||
#
|
||||
# touch $ARCHIVE_SYNCABLE/.tk-borg-passphrase-light
|
||||
# remplir le fichier avec les données prises depuis bitwarden
|
||||
#
|
||||
# bash /home/$USER/Nextcloud/projets/rangement/borg_mount.sh
|
||||
#
|
||||
# l'archive borg fait 1.3 To
|
||||
#
|
||||
echo "monter le borg backup local du disque dada /media/$USER/dada/backup_land4to"
|
||||
|
||||
export BORG_PASSCOMMAND="cat /home/$USER/.tk-borg-passphrase-light" # get the borg repo pass
|
||||
|
||||
|
||||
mkdir -p /media/$USER/dada/backup_land4to
|
||||
mkdir -p /media/$USER/dada/temp_mount_backup_land
|
||||
|
||||
|
||||
rm -rf /media/$USER/dada/backup_land4to/lock.exclusive
|
||||
borg mount /media/$USER/dada/backup_land4to /media/$USER/dada/temp_mount_backup_land
|
||||
|
||||
ls -l /media/$USER/dada/tmp_mount_borg
|
||||
|
||||
echo "dossier borg monté dans /media/$USER/tmp_mount_borg"
|
|
@ -0,0 +1,19 @@
|
|||
#/bin/bash
|
||||
#
|
||||
# ----------------- documentation -----------------
|
||||
# tâche à effectuer régulièrement sur les ordis portables
|
||||
#
|
||||
# @author functions_sync by @tykayn - contact at cipherbliss.com
|
||||
|
||||
# copier le dossier nextcloud dans la home
|
||||
mkdir ~/.backup_automatique
|
||||
cd ~/.backup_automatique
|
||||
|
||||
git init
|
||||
|
||||
rsync ~/Nextcloud/textes/orgmode ~/.backup_automatique --inplace --perms -avP --delete-before
|
||||
|
||||
|
||||
|
||||
git add .
|
||||
git commit -m "auto commit de workflow nextcloud - backup nextcloud in user home"
|
|
@ -0,0 +1,9 @@
|
|||
#!/bin/bash
|
||||
# [[id:6053006f-121e-40a1-ae72-8c1557800e7c][hugo website]]
|
||||
echo "syncronisation des fichiers org avec le site hugo de démo"
|
||||
rsync ~/Nextcloud/textes/orgmode/org-roam/*.org ~/www/hugo-essais/quickstart/content/braindump
|
||||
|
||||
echo "fichiers org dans hugo"
|
||||
ls -l ~/www/hugo-essais/quickstart/content/braindump/*.org |wc -l
|
||||
echo "fichiers markdown"
|
||||
ls -l ~/www/hugo-essais/quickstart/content/braindump/*.md |wc -l
|
|
@ -0,0 +1,11 @@
|
|||
#/bin/bash
|
||||
#
|
||||
# ----------------- documentation -----------------
|
||||
# tâche à effectuer régulièrement sur les ordis portables
|
||||
#
|
||||
# @author functions_sync by @tykayn - contact at cipherbliss.com
|
||||
|
||||
# récupérer les notes du mobile et les stocker dans l'incoming inbox orgmode
|
||||
bash ~/Nextcloud/ressources/workflow_nextcloud/update_calendar.sh
|
||||
bash ~/Nextcloud/ressources/workflow_nextcloud/get_nextcloud_notes_todo.sh
|
||||
bash ~/Nextcloud/ressources/workflow_nextcloud/backup_nextcloud_in_user_home.sh
|
|
@ -0,0 +1,182 @@
|
|||
#/bin/bash
|
||||
# ----------------- documentation -----------------
|
||||
#
|
||||
# @author functions_sync by @tykayn - contact at cipherbliss.com
|
||||
|
||||
|
||||
|
||||
export today=`date` # to log current time
|
||||
export ARCHIVE_SYNCABLE="/home/poule/encrypted/stockage-syncable" # place where we have our things sorted, other than home
|
||||
export BORG_PASSCOMMAND="cat $ARCHIVE_SYNCABLE/.tk-borg-passphrase-light" # get the borg repo pass
|
||||
export SPACESHIP_BORG_REPO="/home/poule/borg_archives/backup_land4to"
|
||||
export LOG_FILE_BACKUP="$ARCHIVE_SYNCABLE/www/backup/log_backup.log"
|
||||
export LOG_FILE_BACKUP_DATES="$ARCHIVE_SYNCABLE/www/backup/summary_log_backup.log" # log dates of execution of the script
|
||||
CURRENT_YEAR="2022"
|
||||
USER="tykayn"
|
||||
# --------- log de la date courante -------- #
|
||||
function logDate()
|
||||
{
|
||||
|
||||
echo "--- $1" | tee -a $LOG_FILE_BACKUP_DATES 2>&1
|
||||
date "+%Y-%m-%d %H:%M:%S" | tee -a $LOG_FILE_BACKUP_DATES 2>&1
|
||||
echo "--- " | tee -a $LOG_FILE_BACKUP_DATES 2>&1
|
||||
}
|
||||
|
||||
# --------- gestion des exclusions de rsync -------- #
|
||||
EXCLUDE=( ".yarn" "cache" ".cache" "Cache" "Steam" "steamapps" ".npm" ".yarn" "node_modules" ".mozilla" "vendor" "Steam" ".rbenv" ".config/borg" "@eaDir" "steamapps" "bower_components")
|
||||
exclude_opts=()
|
||||
for item in "${EXCLUDE[@]}"; do
|
||||
exclude_opts+=( --exclude="$item" )
|
||||
done
|
||||
|
||||
logDate "exclusions de rsync: \n ${exclude_opts[@]}"
|
||||
# --------- syncro uniquement de borg backup -------- #
|
||||
# du -sch /home/poule/borg_archives/backup_land4to
|
||||
function clearDiskSyncBorg()
|
||||
{
|
||||
local diskName=$1
|
||||
echo " " >> $LOG_FILE_BACKUP_DATES
|
||||
echo " ---------- sync borg folder to disk $diskName " >> $LOG_FILE_BACKUP_DATES
|
||||
# chech that the disk exists
|
||||
FILE=/media/$USER/$diskName
|
||||
if test -d "$FILE"; then
|
||||
echo "### $FILE , $diskName exists." >> $LOG_FILE_BACKUP_DATES
|
||||
echo "### ${today} replicate to disk $diskName" >> $LOG_FILE_BACKUP_DATES
|
||||
logDate "disk $diskName : partie backup_land4to";
|
||||
# log the date of the last big syncro
|
||||
touch /home/poule/borg_archives/backup_land4to/last_synced.txt
|
||||
rm -rf /media/$USER/$diskName/backup_land4to
|
||||
rsync -avhWP /home/poule/borg_archives /media/$USER/$diskName --perms --delete-before --inplace
|
||||
|
||||
else
|
||||
echo "### $FILE introuvable." >> $LOG_FILE_BACKUP_DATES
|
||||
fi
|
||||
date "+%Y-%m-%d %H:%M:%S" | tee -a $LOG_FILE_BACKUP_DATES 2>&1
|
||||
echo "---- clearDiskSyncBorg $diskName faite -----------------------" | tee -a $LOG_FILE_BACKUP_DATES 2>&1
|
||||
}
|
||||
|
||||
# --------- recopie des éléments de poule zfs -------- #
|
||||
# les disques de desintation doivent avoir environ 2.5To de place disponible
|
||||
# chacun doit refléter la partie interne de /home/poule ainsi que le dossier music
|
||||
function syncToBigDiskName()
|
||||
{
|
||||
local diskName=$1
|
||||
echo " " >> $LOG_FILE_BACKUP_DATES
|
||||
# chech that the disk exists
|
||||
FILE=/media/$USER/$diskName
|
||||
if test -d "$FILE"; then
|
||||
echo "### $FILE , $diskName exists." >> $LOG_FILE_BACKUP_DATES
|
||||
echo "### ${today} replicate to disk $diskName" >> $LOG_FILE_BACKUP_DATES
|
||||
logDate "disk $diskName : part illus";
|
||||
rsync -avhWP /home/poule/encrypted/dessins_autres_gens /media/$USER/$diskName/encrypted --perms --delete-before --inplace "${exclude_opts[@]}"
|
||||
rsync -avhWP /home/poule/encrypted/mangas /media/$USER/$diskName/encrypted --perms --delete-before --inplace "${exclude_opts[@]}"
|
||||
logDate "disk $diskName : part home and installateurs";
|
||||
rsync -avhWP /home/poule/encrypted/home /media/$USER/$diskName/encrypted --perms --delete-before --inplace "${exclude_opts[@]}"
|
||||
rsync -avhWP /home/poule/encrypted/installateurs /media/$USER/$diskName/encrypted --perms --delete-before --inplace "${exclude_opts[@]}"
|
||||
logDate "disk $diskName : part stockage-syncable : photos current year";
|
||||
rsync -avhWP /home/poule/encrypted/stockage-syncable/photos/$CURRENT_YEAR/* /media/$USER/$diskName/encrypted/stockage-syncable/photos/$CURRENT_YEAR --delete-before --inplace "${exclude_opts[@]}"
|
||||
logDate "disk $diskName : part stockage-syncable : photos all";
|
||||
rsync -avhWP /home/poule/encrypted/stockage-syncable/photos/* /media/$USER/$diskName/encrypted/stockage-syncable/photos --delete-before --inplace "${exclude_opts[@]}"
|
||||
logDate "disk $diskName : part production-servers-backup";
|
||||
rsync -avhWP /home/poule/borg_archives/production-servers-backup/* /media/$USER/$diskName/borg_archives/production-servers-backup --delete-before --inplace "${exclude_opts[@]}"
|
||||
logDate "disk $diskName : part encrypted all";
|
||||
# log the date of the last big syncro
|
||||
touch /home/poule/encrypted/last_synced.text
|
||||
rsync -avhWP /home/poule/encrypted/* /media/$USER/$diskName/encrypted --delete-before "${exclude_opts[@]}"
|
||||
|
||||
|
||||
#logDate "disk $diskName : part music";
|
||||
#rsync -avhWP /home/poule/music /media/$USER/$diskName/ --delete-before --inplace "${exclude_opts[@]}"
|
||||
else
|
||||
echo "### $FILE introuvable." >> $LOG_FILE_BACKUP_DATES
|
||||
fi
|
||||
date "+%Y-%m-%d %H:%M:%S" | tee -a $LOG_FILE_BACKUP_DATES 2>&1
|
||||
echo "---- syncToBigDiskName $diskName faite -----------------------" | tee -a $LOG_FILE_BACKUP_DATES 2>&1
|
||||
}
|
||||
# ----------------------------------------------------------------------
|
||||
|
||||
|
||||
# --------- le laptop fatland n"a que 2 To de disponible -------- #
|
||||
function syncfatland()
|
||||
{
|
||||
echo " " >> $LOG_FILE_BACKUP_DATES
|
||||
echo " - envoi vers FATland" >> $LOG_FILE_BACKUP_DATES
|
||||
#### vers le laptop FATland
|
||||
rsync /home/poule/encrypted/stockage-syncable/photos/$CURRENT_YEAR tykayn@192.168.1.12:/home/poule/encrypted/stockage-syncable/photos -avhWP --delete-before "${exclude_opts[@]}"
|
||||
rsync -avhWP /home/poule/encrypted/stockage-syncable/photos/* tykayn@192.168.1.12:/home/poule/encrypted/stockage-syncable/photos --delete-before "${exclude_opts[@]}"
|
||||
rsync /home/poule/encrypted/stockage-syncable tykayn@192.168.1.12:/home/poule/encrypted -avhWP --delete-before "${exclude_opts[@]}"
|
||||
rsync /home/poule/encrypted/mangas/* tykayn@192.168.1.12:/home/poule/encrypted/mangas -avhWP --delete-before "${exclude_opts[@]}"
|
||||
rsync /home/poule/encrypted/home/* tykayn@192.168.1.12:/home/poule/encrypted/home -avhWP --delete-before "${exclude_opts[@]}"
|
||||
rsync /home/poule/borg_archives/* tykayn@192.168.1.12:/home/poule/borg_archives -avhWP --delete-before
|
||||
date | tee -a $LOG_FILE_BACKUP_DATES 2>&1
|
||||
echo "sync fatland fait" | tee -a $LOG_FILE_BACKUP_DATES 2>&1
|
||||
}
|
||||
|
||||
|
||||
# --------- serveurs web -------- #
|
||||
# retrieve web servers data to zfs spaceship
|
||||
# récup des borg backup des serveurs web
|
||||
|
||||
function getWebServersBorg()
|
||||
{
|
||||
echo " " >> $LOG_FILE_BACKUP_DATES
|
||||
echo "### ${today} copy of servers borg_backup production contents " | tee -a $LOG_FILE_BACKUP_DATES 2>&1
|
||||
rsync -avzhWP --perms --delete-before tykayn@peertube.cipherbliss.com:/home/$USER/backup/borgbackup_peertube /home/poule/borg_archives/production-servers-backup/spare & rsync -avzhWP --perms --delete-before tykayn@www.cipherbliss.com:/home/$USER/backup/borgbackup_soy /home/poule/borg_archives/production-servers-backup/soyoustart & rsync -avzhWP --perms --delete-before tykayn@peertube.cipherbliss.com:/home/$USER/backup/serveurs-production/borgbackup_cloudland /home/poule/borg_archives/production-servers-backup/cloud
|
||||
}
|
||||
|
||||
|
||||
# ----------------- BORG -----------------
|
||||
# partie contenant tout stockage-syncable
|
||||
function upBorg()
|
||||
{
|
||||
killall borg
|
||||
logDate "### --------- SPACESHIP | creating borg archive at $SPACESHIP_BORG_REPO"
|
||||
rm -rf /home/$USER/.cache/borg/150867528afd85114c8aba98af201a7ad8cf01869c507a87c025d2f8701040a9/lock.exclusive
|
||||
rm -rf $SPACESHIP_BORG_REPO/lock.exclusive
|
||||
borg create $SPACESHIP_BORG_REPO::encrypted_spaceship_{now} $ARCHIVE_SYNCABLE /home/poule/encrypted/home/$USER /home/poule/encrypted/dessins_autres_gens /home/poule/encrypted/bidules_partagés_backup /home/poule/encrypted/installateurs "${exclude_opts[@]}" --progress --verbose --stats --compression zstd,9 | tee -a $LOG_FILE_BACKUP 2>&1
|
||||
echo " " | tee -a $LOG_FILE_BACKUP 2>&1
|
||||
logDate "### --------- ${today} | SPACESHIP | pruning old archives" | tee -a $LOG_FILE_BACKUP 2>&1
|
||||
# nettoyage tk_backup
|
||||
borg prune -v --list --stats --keep-daily=8 --keep-weekly=6 --keep-monthly=3 --keep-yearly=2 $SPACESHIP_BORG_REPO | tee -a $LOG_FILE_BACKUP 2>&1
|
||||
logDate "### --------- pruning done"
|
||||
}
|
||||
|
||||
# ---------- manage log git
|
||||
|
||||
function logGit_csv()
|
||||
{
|
||||
git log --pretty=format:"%cd - %an : %s" --graph --since=8.weeks | tee -a log_boulot.org 2>&1
|
||||
}
|
||||
|
||||
# écrire un log des commits réalisés groupés par jour pour le dossier courant
|
||||
function logGit_per_day(){
|
||||
while read -r -u 9 since name
|
||||
do
|
||||
until=$(date "+%Y-%m-%d %H:%M:%S" )
|
||||
|
||||
echo "$since $name"
|
||||
echo
|
||||
|
||||
GIT_PAGER=cat git log \
|
||||
--no-merges \
|
||||
--committer="$name" \
|
||||
--since="$since 00:00:00 +0000" \
|
||||
--until="$until 00:00:00 +0000" \
|
||||
--format=" * [%h] %s"
|
||||
|
||||
echo
|
||||
done 9< <(git log --no-merges --format=$"%cd %cn" --date=short --since=8.weeks | sort --unique --reverse)
|
||||
|
||||
}
|
||||
|
||||
function logGit_to_org()
|
||||
{
|
||||
folder_name=${PWD##*/}
|
||||
touch log_git_list.org
|
||||
echo "* Log git $folder_name\n"> log_git_list.org;
|
||||
pwd >> log_git_list.org;
|
||||
cat log_git_list.org;
|
||||
logGit_per_day | tee -a log_git_list.org 2>&1
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
#!/bin/bash
|
||||
|
||||
touch ~/Nextcloud/textes/orgmode/incoming_inbox.org
|
||||
|
||||
# comparer le fichier de todo de nextcloud et le fichier modèle de base_inbox.org
|
||||
# si une différence est notée, migrer les notes
|
||||
if ! cmp ~/Nextcloud/Notes/todo.txt ~/Nextcloud/textes/orgmode/base_inbox.org >/dev/null 2>&1
|
||||
then
|
||||
echo "====== les deux fichiers sont différents"
|
||||
echo " "
|
||||
echo "====== lignes à copier des notes de nextcloud: "
|
||||
echo " "
|
||||
|
||||
sed -i 's/\*\ /\*\*\ /g' ~/Nextcloud/Notes/todo.txt
|
||||
cat ~/Nextcloud/Notes/todo.txt
|
||||
cat ~/Nextcloud/Notes/todo.txt >> ~/Nextcloud/textes/orgmode/incoming_inbox.org
|
||||
|
||||
|
||||
echo "====== copiées dans ~/Nextcloud/textes/orgmode/incoming_inbox.org"
|
||||
echo " "
|
||||
echo "====== lignes dans l'incoming_inbox.org"
|
||||
cat ~/Nextcloud/textes/orgmode/base_inbox.org > ~/Nextcloud/Notes/todo.txt
|
||||
echo "====== copied ~/Nextcloud/Notes/todo.txt to incoming_inbox.org"
|
||||
else
|
||||
echo "====== Rien à rajouter dans le fichier incoming inbox"
|
||||
fi
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
#!/bin/bash
|
||||
# auto commit periodically
|
||||
# add this script in crontab
|
||||
|
||||
cd ~/Nextcloud/textes/orgmode
|
||||
git add .
|
||||
git commit -m "auto commit in $hostname"
|
|
@ -0,0 +1,8 @@
|
|||
#!/bin/bash
|
||||
|
||||
git config --global credential.helper 'store'
|
||||
git config --global user.email "contact@cipherbliss.com"
|
||||
git config --global user.name "tykayn"
|
||||
git config --global rerere.enabled true
|
||||
git config --global init.defaultBranch main
|
||||
git config --global checkout.defaultRemote origin
|
|
@ -0,0 +1,200 @@
|
|||
#/bin/bash
|
||||
# ----------------- documentation -----------------
|
||||
#
|
||||
# @author sync_spaceship by @tykayn - contact at cipherbliss.com
|
||||
#
|
||||
# L'archive Borg contient stockage syncable et vise à être mise dans le NAS pour la postérité
|
||||
# BORG_NEW_PASSPHRASE=mon_pass_bien_compliqué borg init -e=repokey /home/poule/borg_archives/backup_land4to
|
||||
# borg create --compression lzma,9 /home/poule/borg_archives/backup_land4to::backup_land4to_{now}
|
||||
#
|
||||
#
|
||||
# à installer en cronjob avec:
|
||||
# crontab -e
|
||||
#
|
||||
# m h dom mon dow command
|
||||
# */30 * * * * bash ~/sync_spaceship.sh
|
||||
#
|
||||
# ----------------- configs -----------------
|
||||
# functions_sync.sh définit les constantes utiles
|
||||
LOGIN_NAS="tykayn@192.168.1.15"
|
||||
|
||||
source ~/Nextcloud/ressources/workflow_nextcloud/functions_sync.sh
|
||||
|
||||
logDate ' start backup script from sync_spaceship script'
|
||||
logDate "${pwd} sync_spaceship.sh"
|
||||
|
||||
logDate ' stop all rsync jobs'
|
||||
killall rsync;
|
||||
|
||||
|
||||
|
||||
# ------------------
|
||||
logDate ' copie du script actuel'
|
||||
cp ~/.bash_aliases $ARCHIVE_SYNCABLE/archivage/__scripts_syncro
|
||||
cp ~/.emacs $ARCHIVE_SYNCABLE/archivage/__scripts_syncro
|
||||
|
||||
cp ~/Nextcloud/ressources/workflow_nextcloud/sync_spaceship.sh $ARCHIVE_SYNCABLE/archivage/__scripts_syncro
|
||||
|
||||
cp ~/.bash_aliases ~/Nextcloud/ressources/workflow_nextcloud/install
|
||||
cp ~/.emacs ~/Nextcloud/ressources/workflow_nextcloud/install
|
||||
|
||||
echo ' ' >> $LOG_FILE_BACKUP_DATES
|
||||
echo "### ${today} start backup script from sync_spaceship script" >> $LOG_FILE_BACKUP_DATES
|
||||
|
||||
echo ' ' >> $LOG_FILE_BACKUP_DATES
|
||||
echo "### ${today} list of debian apt packages saved in borg_archives list_of_debian_apt_packages.txt" >> $LOG_FILE_BACKUP_DATES
|
||||
# save a list of apt packages
|
||||
# to restore it:
|
||||
# dpkg --set-selections < list_of_debian_apt_packages.txt
|
||||
dpkg --get-selections>~/list_of_debian_apt_packages.txt
|
||||
|
||||
# back pictures to ARCHIVE_SYNCABLE
|
||||
logDate 'copy of Nextcloud InstantUpload photos'
|
||||
|
||||
mv ~/Nextcloud/inbox/instantUpload/* "$ARCHIVE_SYNCABLE/photos/$CURRENT_YEAR" | tee -a $LOG_FILE_BACKUP 2>&1
|
||||
echo ' ' >> $LOG_FILE_BACKUP_DATES
|
||||
echo "### ${today} medias in $ARCHIVE_SYNCABLE/photos/$CURRENT_YEAR" >> $LOG_FILE_BACKUP_DATES
|
||||
ls -l "$ARCHIVE_SYNCABLE/photos/$CURRENT_YEAR" | wc -l | tee -a $LOG_FILE_BACKUP 2>&1
|
||||
|
||||
logDate ' Screenshots et Download'
|
||||
|
||||
mv ~/Nextcloud/inbox/InstantUpload/Screenshots/* "$ARCHIVE_SYNCABLE/photos/screenshots" | tee -a $LOG_FILE_BACKUP 2>&1
|
||||
mv ~/Nextcloud/inbox/InstantUpload/Download/* "$ARCHIVE_SYNCABLE/BAZAR" | tee -a $LOG_FILE_BACKUP 2>&1
|
||||
|
||||
logDate 'update local nextcloud to stockage syncable';
|
||||
rsync -avhWP --perms --inplace --delete-before ~/Nextcloud/* $ARCHIVE_SYNCABLE/archivage/clouds/Nextcloud | tee -a $LOG_FILE_BACKUP 2>&1
|
||||
|
||||
# --------- copier la home dans les archives ------------
|
||||
|
||||
logDate 'update home backup';
|
||||
rsync -avhWP --inplace --delete-before ~/* /home/poule/encrypted/stockage-syncable/archivage/home "${exclude_opts[@]}" --exclude 'Nextcloud' --exclude 'www' | tee -a $LOG_FILE_BACKUP 2>&1
|
||||
|
||||
|
||||
# --------- sauver les dossiers de développement dans l'archive stockage syncable sans supprimer les projets présents -------- #
|
||||
|
||||
logDate 'WWW et HTML sauver les dossiers de développement';
|
||||
rsync -avP /home/tykayn/www/* /home/poule/encrypted/stockage-syncable/www/development/html "${exclude_opts[@]}"
|
||||
rsync -avP /var/www/html/* /home/poule/encrypted/stockage-syncable/www/development/html "${exclude_opts[@]}"
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
|
||||
|
||||
# --------- disques -------- #
|
||||
# - blue 4To (squatt à lyon)
|
||||
# - brossadent 4To
|
||||
# - chaton 5To (usb boitier)
|
||||
# - lilia 4To
|
||||
# - louisbraille 4To
|
||||
# - brossadent 4To (squatt à vovo)
|
||||
# -|(disque sur dock)
|
||||
# |--|
|
||||
# | |- moonmoon 3To
|
||||
# | |- rondoudou 1To --- non chiffré
|
||||
# |
|
||||
# |--|
|
||||
# |- catwoman 4To (dans le NAS)
|
||||
# - Taiga 1To
|
||||
|
||||
echo "le log de backup se situe dans : $LOG_FILE_BACKUP_DATES"
|
||||
|
||||
|
||||
# --------- mettre à jour les borg backup des serveurs distants -------- #
|
||||
# getWebServersBorg;
|
||||
|
||||
# --- raspberry pi ---------- #
|
||||
logDate 'update local backup de domoticz vers stockage-syncable/www/backup/domoticz/synced';
|
||||
rsync -avhWP pi@192.168.1.2:/home/pi /home/poule/encrypted/stockage-syncable/www/backup/domoticz/synced --delete-before --inplace
|
||||
|
||||
# --- maj borg de stockage syncable ---------- #
|
||||
upBorg;
|
||||
|
||||
|
||||
# --------- disques avec beaucoup de place -------- #
|
||||
# --------- disques chiffrés -------- #
|
||||
#syncToBigDiskName louisbraille
|
||||
#syncToBigDiskName rugged
|
||||
#syncToBigDiskName moonmoon # dernier disque source pour temporisation
|
||||
#syncToBigDiskName lilia
|
||||
#syncToBigDiskName # chaton disque en clair pour Optiplex liness
|
||||
#syncToBigDiskName blue
|
||||
|
||||
# --------- disques non chiffrés contenant uniquement les archives borg -------- #
|
||||
|
||||
clearDiskSyncBorg kungfu
|
||||
clearDiskSyncBorg brossadent
|
||||
clearDiskSyncBorg moonmoon
|
||||
clearDiskSyncBorg chaton
|
||||
clearDiskSyncBorg rugged
|
||||
clearDiskSyncBorg louisbraille
|
||||
clearDiskSyncBorg lilia
|
||||
clearDiskSyncBorg blue
|
||||
|
||||
# --------- disques de petite taille -------- #
|
||||
# ne peuvent prendre que le stockage syncable
|
||||
# ----------- small disks --------------
|
||||
# syncro vers Taiga de borg
|
||||
FILE=/media/$USER/Taiga
|
||||
if test -d "$FILE"; then
|
||||
echo "### $FILE , Taiga exists." >> $LOG_FILE_BACKUP_DATES
|
||||
logDate 'Taiga disk monté - sync borg backup';
|
||||
# rsync -avhWP /home/poule/encrypted/stockage-syncable/* /media/$USER/$diskName/encrypted/stockage-syncable --perms --delete-before --inplace "${exclude_opts[@]}"
|
||||
rsync -avhWP /home/poule/borg_archives/backup_land4to/* /media/tykayn/Taiga/backup_land4to --delete-before --inplace
|
||||
else
|
||||
echo 'Taiga disk NON monté '; >> $LOG_FILE_BACKUP_DATES
|
||||
fi
|
||||
|
||||
# --------- autres pool ZFS -------- #
|
||||
syncfatland;
|
||||
|
||||
|
||||
|
||||
## possible amélioration de vitesse de rsync sur les gros dossiers
|
||||
# ls $dossier_source | xargs -n1 -P4 -I% rsync -Pa % $destination
|
||||
|
||||
|
||||
# ----------------- sync to NAS -----------------
|
||||
# à destination du NAS, les borg backups perso et de serveurs
|
||||
logDate ' à destination du NAS: backup_land4to';
|
||||
rsync -avhWP /home/poule/borg_archives/backup_land4to/* $LOGIN_NAS:/var/services/homes/tykayn/borg_archives/backup_land4to --delete-before --inplace --perms
|
||||
rsync -avhWP /home/poule/cryptomator/* $LOGIN_NAS:/volume1/bidules_partagés/cryptomator --delete-before --inplace --perms
|
||||
|
||||
logDate ' à destination du NAS: production-servers-backup';
|
||||
#rsync -avhWP /home/poule/borg_archives/production-servers-backup/* $LOGIN_NAS:/var/services/homes/tykayn/borg_archives/production-servers-backup --delete-before --inplace --perms --exclude="@eaDir" "${exclude_opts[@]}"
|
||||
logDate ' à destination du NAS: vidéos DL';
|
||||
#rsync -avhWP /home/poule/videos/DOCU-CONF-YOUTUBE/* $LOGIN_NAS:/volume1/bidules_partagés/videos/DOCU-CONF-YOUTUBE --delete-before --inplace --perms
|
||||
logDate ' à destination du NAS: vidéos';
|
||||
#rsync -avhWP /home/poule/videos/* $LOGIN_NAS:/volume1/bidules_partagés/videos --delete-before --inplace --perms
|
||||
|
||||
logDate ' à destination du NAS: music';
|
||||
#rsync -avhWP /home/poule/music $LOGIN_NAS:/volume1/music --delete-before --inplace --perms
|
||||
|
||||
# en provenance du NAS ----- les bidules partagés
|
||||
logDate 'en provenance du NAS: bidules_partagés Documents administratifs';
|
||||
#rsync -avhWP $LOGIN_NAS:/volume1/bidules_partagés/Documents\\\ administratifs /home/poule/encrypted/bidules_partagés_backup --delete-before --inplace --perms "${exclude_opts[@]}"
|
||||
logDate 'en provenance du NAS: bidules_partagés Briis';
|
||||
#rsync -avhWP $LOGIN_NAS:/volume1/bidules_partagés/Briis /home/poule/encrypted/bidules_partagés_backup --delete-before --inplace --perms "${exclude_opts[@]}"
|
||||
|
||||
logDate 'en provenance du NAS: bidules_partagés Mariage';
|
||||
#rsync -avhWP $LOGIN_NAS:/volume1/bidules_partagés/Mariage /home/poule/encrypted/bidules_partagés_backup --delete-before --inplace --perms "${exclude_opts[@]}"
|
||||
|
||||
logDate 'en provenance du NAS: bidules_partagés wulfila_home sans backups ordi';
|
||||
#rsync -avhWP $LOGIN_NAS:/volume1/bidules_partagés/wulfila_home /home/poule/encrypted/other_people_content --inplace --exclude=TK-LAND --exclude=musique_tykayn --exclude=windows_backup_laptop_claire --delete-before --inplace --perms "${exclude_opts[@]}"
|
||||
|
||||
logDate 'en provenance du NAS: fait';
|
||||
|
||||
logDate ' sauver les textes Org'
|
||||
cd ~/Nextcloud/textes/orgmode && git add . --all && git commit -m "update orgmode files" && cd -
|
||||
|
||||
echo "### ${today} end" >> $LOG_FILE_BACKUP_DATES
|
||||
date -ud "@$SECONDS" | tee -a $LOG_FILE_BACKUP 2>&1
|
||||
echo "voir les logs: gedit $LOG_FILE_BACKUP"
|
||||
echo "voir les logs des sections par dates: gedit $LOG_FILE_BACKUP_DATES"
|
||||
echo " " | tee -a $LOG_FILE_BACKUP 2>&1
|
||||
echo "taille du BAZAR: $ARCHIVE_SYNCABLE/BAZAR " | tee -a $LOG_FILE_BACKUP 2>&1
|
||||
du -sch $ARCHIVE_SYNCABLE/BAZAR | tee -a $LOG_FILE_BACKUP 2>&1
|
||||
date -ud "@$SECONDS" | tee -a $LOG_FILE_BACKUP_DATES 2>&1
|
||||
echo " " | tee -a $LOG_FILE_BACKUP 2>&1
|
||||
echo " " | tee -a $LOG_FILE_BACKUP 2>&1
|
||||
|
||||
logDate 'fin de sync_spaceship.sh';
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
#!/bin/bash
|
||||
# getting a nextcloud calendar without auth and convert it to org file
|
||||
# add this to a cronjob
|
||||
#
|
||||
echo "updating calendar from nextcloud"
|
||||
#URL="https://cloud.tykayn.fr/remote.php/dav/public-calendars/M2XZMF5KpfmXJcfc\?export" # public link to orgmode calendar of nextcloud https://cloud.tykayn.fr/index.php/apps/calendar/timeGridWeek/now
|
||||
|
||||
URL_CAL="https://nuage.tykayn.fr/remote.php/dav/public-calendars/cHkSk5rG445MftpZ?export" # calendrier tkwulfi
|
||||
echo $URL_CAL
|
||||
|
||||
wget $URL_CAL -O orgcalendar.ics --show-progress
|
||||
|
||||
# add content of other calendars
|
||||
#URL_CAL="https://cloud.tykayn.fr/remote.php/dav/calendars/super_admin_tykayn/mobilizonfr/?export"
|
||||
#wget $URL_CAL -O ->> orgcalendar.ics --show-progress
|
||||
|
||||
# annivs
|
||||
#URL_CAL="https://cloud.tykayn.fr/remote.php/dav/calendars/super_admin_tykayn/contact_birthdays/?export"
|
||||
#wget $URL_CAL -O ->> orgcalendar.ics --show-progress
|
||||
# convert the ics to an org file
|
||||
du -sch orgcalendar.ics
|
||||
icsorg -i orgcalendar.ics -o calendar.org -p 999999
|
||||
cat calendar.org |wc -l
|
||||
cp calendar.org ~/Nextcloud/textes/orgmode
|
||||
echo "DONE"
|
Loading…
Reference in New Issue