From 2aa10c433886200ee357fcf690944ac434f1712f Mon Sep 17 00:00:00 2001 From: Tykayn Date: Mon, 6 Feb 2023 13:28:35 +0100 Subject: [PATCH] workflow nextcloud shared --- bash/aliases.sh | 55 ----- bash/bash_aliases.sh | 139 ++++++++++++ bash/borg_mount/borg_mount_from_usb_4to.sh | 22 ++ bash/borg_mount/borg_mount_local.sh | 24 +++ .../backup_nextcloud_in_user_home.sh | 19 ++ .../backups/borg_peertube.sh | 0 .../backups/borg_spaceship.sh | 0 .../backups/functions_sync.sh | 0 .../backups/mount_local.sh | 0 ...prod_backup_soy_spare_vps_cloud_to_DATA.sh | 0 .../backups/rise/cloud_borg.sh | 0 .../rise/get_to_juvisy_rise_backups.sh | 0 .../backups/rise/mastodon_borg.sh | 0 .../backups/rise/peertube_borg.sh | 0 .../backups/rise/promox_config.sh | 0 .../backups/rise/tksites_borg.sh | 0 .../backups/rise_borg.sh | 0 .../backups/s_peertube_from_spaceship.sh | 0 .../backups/soyoustart_borg.sh | 0 .../backups/sync_soy_to_cloud.sh | 0 .../backups/sync_spaceship.sh | 0 .../backups/sync_to_nas.sh | 0 .../backups/sync_to_peertube.sh | 0 .../backups/test-func.sh | 0 .../convert_orgmode_markdown.sh | 9 + bash/workflow_nextcloud/cronjob_nextcloud.sh | 11 + bash/workflow_nextcloud/functions_sync.sh | 182 ++++++++++++++++ .../get_nextcloud_notes_todo.sh | 27 +++ bash/workflow_nextcloud/git_autocommit.sh | 7 + bash/workflow_nextcloud/git_config_glob.sh | 8 + bash/workflow_nextcloud/sync_spaceship.sh | 200 ++++++++++++++++++ bash/workflow_nextcloud/update_calendar.sh | 25 +++ bash/workflow_nextcloud/workflow_variables.sh | 0 33 files changed, 673 insertions(+), 55 deletions(-) delete mode 100755 bash/aliases.sh create mode 100755 bash/bash_aliases.sh create mode 100644 bash/borg_mount/borg_mount_from_usb_4to.sh create mode 100644 bash/borg_mount/borg_mount_local.sh create mode 100644 bash/workflow_nextcloud/backup_nextcloud_in_user_home.sh rename bash/{ => workflow_nextcloud}/backups/borg_peertube.sh (100%) rename bash/{ => workflow_nextcloud}/backups/borg_spaceship.sh (100%) rename bash/{ => workflow_nextcloud}/backups/functions_sync.sh (100%) rename bash/{ => workflow_nextcloud}/backups/mount_local.sh (100%) rename bash/{ => workflow_nextcloud}/backups/prod_backup_soy_spare_vps_cloud_to_DATA.sh (100%) rename bash/{ => workflow_nextcloud}/backups/rise/cloud_borg.sh (100%) rename bash/{ => workflow_nextcloud}/backups/rise/get_to_juvisy_rise_backups.sh (100%) rename bash/{ => workflow_nextcloud}/backups/rise/mastodon_borg.sh (100%) rename bash/{ => workflow_nextcloud}/backups/rise/peertube_borg.sh (100%) rename bash/{ => workflow_nextcloud}/backups/rise/promox_config.sh (100%) rename bash/{ => workflow_nextcloud}/backups/rise/tksites_borg.sh (100%) rename bash/{ => workflow_nextcloud}/backups/rise_borg.sh (100%) rename bash/{ => workflow_nextcloud}/backups/s_peertube_from_spaceship.sh (100%) rename bash/{ => workflow_nextcloud}/backups/soyoustart_borg.sh (100%) rename bash/{ => workflow_nextcloud}/backups/sync_soy_to_cloud.sh (100%) rename bash/{ => workflow_nextcloud}/backups/sync_spaceship.sh (100%) rename bash/{ => workflow_nextcloud}/backups/sync_to_nas.sh (100%) rename bash/{ => workflow_nextcloud}/backups/sync_to_peertube.sh (100%) rename bash/{ => workflow_nextcloud}/backups/test-func.sh (100%) create mode 100644 bash/workflow_nextcloud/convert_orgmode_markdown.sh create mode 100644 bash/workflow_nextcloud/cronjob_nextcloud.sh create mode 100644 bash/workflow_nextcloud/functions_sync.sh create mode 100644 bash/workflow_nextcloud/get_nextcloud_notes_todo.sh create mode 100644 bash/workflow_nextcloud/git_autocommit.sh create mode 100644 bash/workflow_nextcloud/git_config_glob.sh create mode 100644 bash/workflow_nextcloud/sync_spaceship.sh create mode 100644 bash/workflow_nextcloud/update_calendar.sh create mode 100644 bash/workflow_nextcloud/workflow_variables.sh diff --git a/bash/aliases.sh b/bash/aliases.sh deleted file mode 100755 index 2e116b9d..00000000 --- a/bash/aliases.sh +++ /dev/null @@ -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" diff --git a/bash/bash_aliases.sh b/bash/bash_aliases.sh new file mode 100755 index 00000000..52274d17 --- /dev/null +++ b/bash/bash_aliases.sh @@ -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 \ No newline at end of file diff --git a/bash/borg_mount/borg_mount_from_usb_4to.sh b/bash/borg_mount/borg_mount_from_usb_4to.sh new file mode 100644 index 00000000..6d152ac0 --- /dev/null +++ b/bash/borg_mount/borg_mount_from_usb_4to.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" diff --git a/bash/borg_mount/borg_mount_local.sh b/bash/borg_mount/borg_mount_local.sh new file mode 100644 index 00000000..c629cf53 --- /dev/null +++ b/bash/borg_mount/borg_mount_local.sh @@ -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" diff --git a/bash/workflow_nextcloud/backup_nextcloud_in_user_home.sh b/bash/workflow_nextcloud/backup_nextcloud_in_user_home.sh new file mode 100644 index 00000000..eb9dfe48 --- /dev/null +++ b/bash/workflow_nextcloud/backup_nextcloud_in_user_home.sh @@ -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" diff --git a/bash/backups/borg_peertube.sh b/bash/workflow_nextcloud/backups/borg_peertube.sh similarity index 100% rename from bash/backups/borg_peertube.sh rename to bash/workflow_nextcloud/backups/borg_peertube.sh diff --git a/bash/backups/borg_spaceship.sh b/bash/workflow_nextcloud/backups/borg_spaceship.sh similarity index 100% rename from bash/backups/borg_spaceship.sh rename to bash/workflow_nextcloud/backups/borg_spaceship.sh diff --git a/bash/backups/functions_sync.sh b/bash/workflow_nextcloud/backups/functions_sync.sh similarity index 100% rename from bash/backups/functions_sync.sh rename to bash/workflow_nextcloud/backups/functions_sync.sh diff --git a/bash/backups/mount_local.sh b/bash/workflow_nextcloud/backups/mount_local.sh similarity index 100% rename from bash/backups/mount_local.sh rename to bash/workflow_nextcloud/backups/mount_local.sh diff --git a/bash/backups/prod_backup_soy_spare_vps_cloud_to_DATA.sh b/bash/workflow_nextcloud/backups/prod_backup_soy_spare_vps_cloud_to_DATA.sh similarity index 100% rename from bash/backups/prod_backup_soy_spare_vps_cloud_to_DATA.sh rename to bash/workflow_nextcloud/backups/prod_backup_soy_spare_vps_cloud_to_DATA.sh diff --git a/bash/backups/rise/cloud_borg.sh b/bash/workflow_nextcloud/backups/rise/cloud_borg.sh similarity index 100% rename from bash/backups/rise/cloud_borg.sh rename to bash/workflow_nextcloud/backups/rise/cloud_borg.sh diff --git a/bash/backups/rise/get_to_juvisy_rise_backups.sh b/bash/workflow_nextcloud/backups/rise/get_to_juvisy_rise_backups.sh similarity index 100% rename from bash/backups/rise/get_to_juvisy_rise_backups.sh rename to bash/workflow_nextcloud/backups/rise/get_to_juvisy_rise_backups.sh diff --git a/bash/backups/rise/mastodon_borg.sh b/bash/workflow_nextcloud/backups/rise/mastodon_borg.sh similarity index 100% rename from bash/backups/rise/mastodon_borg.sh rename to bash/workflow_nextcloud/backups/rise/mastodon_borg.sh diff --git a/bash/backups/rise/peertube_borg.sh b/bash/workflow_nextcloud/backups/rise/peertube_borg.sh similarity index 100% rename from bash/backups/rise/peertube_borg.sh rename to bash/workflow_nextcloud/backups/rise/peertube_borg.sh diff --git a/bash/backups/rise/promox_config.sh b/bash/workflow_nextcloud/backups/rise/promox_config.sh similarity index 100% rename from bash/backups/rise/promox_config.sh rename to bash/workflow_nextcloud/backups/rise/promox_config.sh diff --git a/bash/backups/rise/tksites_borg.sh b/bash/workflow_nextcloud/backups/rise/tksites_borg.sh similarity index 100% rename from bash/backups/rise/tksites_borg.sh rename to bash/workflow_nextcloud/backups/rise/tksites_borg.sh diff --git a/bash/backups/rise_borg.sh b/bash/workflow_nextcloud/backups/rise_borg.sh similarity index 100% rename from bash/backups/rise_borg.sh rename to bash/workflow_nextcloud/backups/rise_borg.sh diff --git a/bash/backups/s_peertube_from_spaceship.sh b/bash/workflow_nextcloud/backups/s_peertube_from_spaceship.sh similarity index 100% rename from bash/backups/s_peertube_from_spaceship.sh rename to bash/workflow_nextcloud/backups/s_peertube_from_spaceship.sh diff --git a/bash/backups/soyoustart_borg.sh b/bash/workflow_nextcloud/backups/soyoustart_borg.sh similarity index 100% rename from bash/backups/soyoustart_borg.sh rename to bash/workflow_nextcloud/backups/soyoustart_borg.sh diff --git a/bash/backups/sync_soy_to_cloud.sh b/bash/workflow_nextcloud/backups/sync_soy_to_cloud.sh similarity index 100% rename from bash/backups/sync_soy_to_cloud.sh rename to bash/workflow_nextcloud/backups/sync_soy_to_cloud.sh diff --git a/bash/backups/sync_spaceship.sh b/bash/workflow_nextcloud/backups/sync_spaceship.sh similarity index 100% rename from bash/backups/sync_spaceship.sh rename to bash/workflow_nextcloud/backups/sync_spaceship.sh diff --git a/bash/backups/sync_to_nas.sh b/bash/workflow_nextcloud/backups/sync_to_nas.sh similarity index 100% rename from bash/backups/sync_to_nas.sh rename to bash/workflow_nextcloud/backups/sync_to_nas.sh diff --git a/bash/backups/sync_to_peertube.sh b/bash/workflow_nextcloud/backups/sync_to_peertube.sh similarity index 100% rename from bash/backups/sync_to_peertube.sh rename to bash/workflow_nextcloud/backups/sync_to_peertube.sh diff --git a/bash/backups/test-func.sh b/bash/workflow_nextcloud/backups/test-func.sh similarity index 100% rename from bash/backups/test-func.sh rename to bash/workflow_nextcloud/backups/test-func.sh diff --git a/bash/workflow_nextcloud/convert_orgmode_markdown.sh b/bash/workflow_nextcloud/convert_orgmode_markdown.sh new file mode 100644 index 00000000..c21ac416 --- /dev/null +++ b/bash/workflow_nextcloud/convert_orgmode_markdown.sh @@ -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 diff --git a/bash/workflow_nextcloud/cronjob_nextcloud.sh b/bash/workflow_nextcloud/cronjob_nextcloud.sh new file mode 100644 index 00000000..915eb0dc --- /dev/null +++ b/bash/workflow_nextcloud/cronjob_nextcloud.sh @@ -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 diff --git a/bash/workflow_nextcloud/functions_sync.sh b/bash/workflow_nextcloud/functions_sync.sh new file mode 100644 index 00000000..17c614fa --- /dev/null +++ b/bash/workflow_nextcloud/functions_sync.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 +} + + diff --git a/bash/workflow_nextcloud/get_nextcloud_notes_todo.sh b/bash/workflow_nextcloud/get_nextcloud_notes_todo.sh new file mode 100644 index 00000000..f1721f32 --- /dev/null +++ b/bash/workflow_nextcloud/get_nextcloud_notes_todo.sh @@ -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 + diff --git a/bash/workflow_nextcloud/git_autocommit.sh b/bash/workflow_nextcloud/git_autocommit.sh new file mode 100644 index 00000000..cf4a5a5b --- /dev/null +++ b/bash/workflow_nextcloud/git_autocommit.sh @@ -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" diff --git a/bash/workflow_nextcloud/git_config_glob.sh b/bash/workflow_nextcloud/git_config_glob.sh new file mode 100644 index 00000000..80c9bceb --- /dev/null +++ b/bash/workflow_nextcloud/git_config_glob.sh @@ -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 diff --git a/bash/workflow_nextcloud/sync_spaceship.sh b/bash/workflow_nextcloud/sync_spaceship.sh new file mode 100644 index 00000000..6bc82576 --- /dev/null +++ b/bash/workflow_nextcloud/sync_spaceship.sh @@ -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'; + diff --git a/bash/workflow_nextcloud/update_calendar.sh b/bash/workflow_nextcloud/update_calendar.sh new file mode 100644 index 00000000..a1be4e56 --- /dev/null +++ b/bash/workflow_nextcloud/update_calendar.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" diff --git a/bash/workflow_nextcloud/workflow_variables.sh b/bash/workflow_nextcloud/workflow_variables.sh new file mode 100644 index 00000000..e69de29b