diff --git a/conf/monitor-backup b/conf/monitor-backup index bd0f5b1..7634e21 100644 --- a/conf/monitor-backup +++ b/conf/monitor-backup @@ -1,2 +1,2 @@ SHELL=/bin/bash -0 9,20 * * * root : Monitor __SSH_USER__ backup ; ALERT_DELAY="$(yunohost app setting __APP__ alert_delay)"; [[ $(find /home/__SSH_USER__/backup -follow -mtime -${ALERT_DELAY} -ls | wc -l) > 0 ]] || ( echo "No file has been backuped in /home/__SSH_USER__ since ${ALERT_DELAY} days" | mail -s "[YNH] Backup missing : __SSH_USER__" $(yunohost app setting __APP__ alert_mails)) +0 9,20 * * * root : Monitor __SSH_USER__ backup ; ALERT_DELAY="$(yunohost app setting __APP__ alert_delay)"; [[ $(find /home/__SSH_USER__/__RESPOSITORY_FOLDER__ -follow -mtime -${ALERT_DELAY} -ls | wc -l) > 0 ]] || ( echo "No file has been backed up in /home/__SSH_USER__/__RESPOSITORY_FOLDER__ since ${ALERT_DELAY} days" | mail -s "[YNH] Backup missing : __SSH_USER__" $(yunohost app setting __APP__ alert_mails)) diff --git a/manifest.json b/manifest.json index 6bb4e87..ec99b72 100644 --- a/manifest.json +++ b/manifest.json @@ -30,6 +30,16 @@ }, "example": "john" }, + { + "name": "respository_folder", + "type": "string", + "ask": { + "en": "Indicate the folder in which to create backups (it will be created in the home directory of your ssh user)", + "fr": "Indiquez le dossier dans lequel créer les sauvegardes (il sera créé dans le dossier de l'utilisateur ssh)" + }, + "example": "my_backups", + "default": "backup" + }, { "name": "public_key", "type": "string", diff --git a/scripts/install b/scripts/install index a7c29c3..8ce21cd 100755 --- a/scripts/install +++ b/scripts/install @@ -23,12 +23,12 @@ ynh_abort_if_errors export app=$YNH_APP_INSTANCE_NAME # Retrieve arguments -ynh_export ssh_user public_key quota alert_delay alert_mails +ynh_export ssh_user respository_folder public_key quota alert_delay alert_mails #================================================= # CHECK IF THE APP CAN BE INSTALLED WITH THIS ARGS #================================================= -# Here is a small hack to avoid multi install CI test to fail due +# Here is a small hack to avoid multi install CI test to fail due # to same ssh_user provided if [[ "${PACKAGE_CHECK_EXEC:-}" = "1" ]] ; then ssh_user+="$YNH_APP_INSTANCE_NUMBER" @@ -39,7 +39,7 @@ ynh_system_user_exists --username=$ssh_user && ynh_die --message="This user alre # STORE SETTINGS FROM MANIFEST #================================================= -ynh_save_args ssh_user public_key quota alert_delay alert_mails +ynh_save_args ssh_user respository_folder public_key quota alert_delay alert_mails #================================================= # INSTALL DEPENDENCIES @@ -70,7 +70,7 @@ extra="--storage-quota $quota" if [ "$quota" = "" ]; then extra="" fi -echo "command=\"borg serve $extra --restrict-to-repository /home/$ssh_user/backup\",no-pty,no-agent-forwarding,no-port-forwarding,no-X11-forwarding,no-user-rc $public_key" >> /home/$ssh_user/.ssh/authorized_keys +echo "command=\"borg serve $extra --restrict-to-repository /home/$ssh_user/$respository_folder\",no-pty,no-agent-forwarding,no-port-forwarding,no-X11-forwarding,no-user-rc $public_key" >> /home/$ssh_user/.ssh/authorized_keys #================================================= # AVOID BACKUP OF BACKUP diff --git a/scripts/restore b/scripts/restore index 410547b..26f8586 100755 --- a/scripts/restore +++ b/scripts/restore @@ -23,6 +23,7 @@ ynh_abort_if_errors app=$YNH_APP_INSTANCE_NAME export ssh_user=$(ynh_app_setting_get $app ssh_user) +export respository_folder=$(ynh_app_setting_get $app respository_folder) export public_key=$(ynh_app_setting_get $app public_key) export quota=$(ynh_app_setting_get $app quota) @@ -54,7 +55,7 @@ extra="--storage-quota $quota" if [ "$quota" = "" ]; then extra="" fi -echo "command=\"borg serve $extra --restrict-to-repository /home/$ssh_user/backup\",no-pty,no-agent-forwarding,no-port-forwarding,no-X11-forwarding,no-user-rc $public_key" >> /home/$ssh_user/.ssh/authorized_keys +echo "command=\"borg serve $extra --restrict-to-repository /home/$ssh_user/$respository_folder\",no-pty,no-agent-forwarding,no-port-forwarding,no-X11-forwarding,no-user-rc $public_key" >> /home/$ssh_user/.ssh/authorized_keys #================================================= # AVOID BACKUP OF BACKUP