Voici les trucs et astuces du NAS de maman
Il faut tout d'abord créer une clef RSA
ssh-keygen -t rsa
Ensuite la copier sur le NAS
ssh-copy-id -p 49022 François@dausseur.kicks-ass.net
Modifier le fichier de config sur le NAS
sudo vim /etc/ssh/sshd_config
et passer le paramètre PubKeyAuthorization à yes
Changer les droits sur le répertoire perso
sudo chmod 755 /volume1/homes/François
Ensuite recharger la config
sudo synoservicectl --reload sshd
Rajouter la ligne suivante dans /etc/fstab
# NAS distant de maman François@dausseur.kicks-ass.net:/home/ /mnt/nas_maman fuse.sshfs noauto,x-ystemd.automount,_netdev,port=49022,IdentityFile=/home/maitre/.ssh/id_rsa,allow_other,reconnect 0 0
Création du système de fichier compressé dans un fichier sur le nas.
sur le NAS de maman :
dd if=/dev/zero of=sauve.img bs=1M count=700000 status=progress
Sur mon propre NAS :
sudo cryptsetup luksFormat sauve.img sudo cryptsetup open /mnt/nas_maman/Sauvegarde/sauve.img nas sudo mkfs.ext4 /dev/mapper/nas sudo mkdir /mnt/sauve_nas_maman sudo mount /dev/mapper/nas /mnt/sauve_nas_maman
Dépréciée
#!/bin/bash # Exécution du script principal # set -x function usage() { echo "Usage: $0 [-h][--help] [-m][--musique] [-p][--partage] [-n][--nuage] [-e][--homes]" >&2 echo "Options:" >&2 echo " -h, --help Afficher cette aide." >&2 echo " -m, --music Archive les fichiers de musique." >&2 echo " -p, --partage Archive les fichiers de partage." >&2 echo " -n, --nuage Archive les fichier nuage." >&2 echo " -e, --homes Archive personal share." >&2 exit 1 } function is_nas() { present=`cat /etc/mtab | grep "$1"` if [[ -z "${present}" ]]; then return 0 fi return 1 } # Traiter les options longues et courtes opts=$(getopt -o hmpne --long help,musique,partage,nuage,homes -- "$@") if [ $? -ne 0 ]; then echo "Erreur lors du traitement des options." >&2 usage fi eval set -- "$opts" musique=0 partage=0 nuage=0 homes=0 au_moins_un=0 # Utilisation de getopts pour gérer les options while true; do case "$1" in -h | --help) usage ;; -m | --musique) musique=1 shift ;; -p | --partage) partage=1 shift ;; -n | --nuage) nuage=1 shift ;; -e | --homes) homes=1 shift ;; --) shift break ;; : ) # Argument manquant pour l'option requérant un argument echo "Option invalide: $1" >&2 usage ;; esac done let "au_moins_un=((partage != 0) | (musique != 0) | (nuage != 0) | (homes != 0))" if [[ ${au_moins_un} == 0 ]]; then echo "Nothing to be done" exit fi choix=( partage musique homes ) choix_vrai=( ${partage} ${musique} ${homes} ) choix_path=( "/mnt/stockage/partage" "/mnt/stockage/multimedia/Musique" "/mnt/stockage/homes" ) choix_excludes=("/mnt/stockage/partage/Logiciels" "" "" ) #user="François" #host="dausseur.kicks-ass.net" #port=49022 mount_dir=/mnt/nas_maman nas_dir=$mount_dir/Sauvegarde is_nas "$mount_dir" if [[ 1 -eq $? ]]; then echo "NAS présent" else echo "Le NAS ne semble pas être monté" exit -1 fi # backup of standard paths long=${#choix[@]} for (( j=0; j<${long}; j++ )); do if [[ ${choix_vrai[$j]} != 0 ]]; then rm ${nas_dir}/${choix[$j]}.old.tgz.gpg mv ${nas_dir}/${choix[$j]}.tgz.gpg ${nas_dir}/${choix[$j]}.old.tgz.gpg exclu="" if [[ ${choix_excludes[j]} != "" ]]; then exclu="--exclude ${choix_excludes[j]}" fi sudo tar -cvzf - ${exclu} "${choix_path[$j]}" | gpg --encrypt -r "BéaFrançois" --output ${nas_dir}/${choix[$j]}.tgz.gpg fi done # backup of users nextcloud paths if [[ ${nuage} != 0 ]]; then utilisateurs=( francois beatrice corentin louis ) for util in "${utilisateurs[@]}" do rm "${nas_dir}/nuage-data-${util}.old.tgz.gpg" mv "${nas_dir}/nuage-data-${util}.tgz.gpg" "${nas_dir}/nuage-data-${util}.old.tgz.gpg" sudo tar -cvzf - "/mnt/stockage/system/nuage-data/${util}" | gpg --encrypt -r "BéaFrançois" --output "${nas_dir}/nuage-data-${util}.tgz.gpg" done fi