#!/bin/bash ######## Actually we cant use common script in backup / restore script see this issue for more informations : https://dev.yunohost.org/issues/621 # # Import common cmd # source ./_common.sh # ######## We implement manually this fonctions init_script() { # Exit on command errors and treat unset variables as an error set -eu # Source YunoHost helpers source /usr/share/yunohost/helpers # Retrieve arguments app=$YNH_APP_INSTANCE_NAME } set_configuration() { if [[ -e /var/www/$app ]] then final_path=/var/www/$app seafile_user=www-data elif [[ -e /opt/yunohost/$app ]] then final_path=/opt/yunohost/$app seafile_user=seafile else ynh_die "Error : can't find seafile path" fi } ######## End of common fonctions # Init script init_script # Set configuration for user and final path set_configuration # The parameter $1 is the backup directory location dedicated to the app BACKUP_DIR=$1 # The parameter $2 is the id of the app instance ex: strut__2 APP=$2 # retrieve useful param domain=$(ynh_app_setting_get ${APP} domain) db_pwd=$(ynh_app_setting_get ${APP} mysqlpwd) # Backup app files sudo mkdir -p "${BACKUP_DIR}/www" sudo cp -a $final_path/. "${BACKUP_DIR}/www" # Backup conf files sudo mkdir -p "${BACKUP_DIR}/conf" sudo cp -a /etc/nginx/conf.d/$domain.d/${APP}.conf "${BACKUP_DIR}/conf/${APP}.conf" sudo cp -a /etc/logrotate.d/${APP} "${BACKUP_DIR}/conf/${APP}" sudo cp -a /etc/init.d/seafile-server "${BACKUP_DIR}/conf/seafile-server" # Backup data sudo mkdir -p "${BACKUP_DIR}/data" sudo cp -a /home/yunohost.app/seafile-data/. "${BACKUP_DIR}/data" # Backup mysql mysqldump -u ${APP} -p$db_pwd ccnetdb | sudo dd of=${BACKUP_DIR}/ccnetdb.dmp mysqldump -u ${APP} -p$db_pwd seafiledb | sudo dd of=${BACKUP_DIR}/seafiledb.dmp mysqldump -u ${APP} -p$db_pwd seahubdb | sudo dd of=${BACKUP_DIR}/seahubdb.dmp