- Détails
- Écrit par : Super User
- Affichages : 92
Vous utilisez la solution de sauvegarde Oxibox pour vos postes et vous avez besoin d’avoir des informations plus précises que celle de l’interface oxiadmin ?
Vous pouvez utiliser les données des mails de rapports unifiés avec le script suivant. Tout est commenté dans le script qui est prévu pour fonctionner sous Linux.
#!/bin/sh #Pour générer le fichier eml, il faut l’ouvrir dans le navigateur dans une nouvelle fenêtre puis le sauvegarder avec un nom sans espace. # Si pas d'arguments alors on donne l'aide if test $# -eq 0; then echo "Aide" echo "Arguments : à mettre" echo "1 - Nom du fichier eml" echo "2 - Nom du fichier Temporaire" echo "3 - datetimestamp au format aaaammjj" echo "4 - Nom du fichier destination Définitif" exit 1 fi #On prend le fichier en argument 1 puis #On supprime de Received à Comptes clients : sed '/Received/,/Comptes clients : /d' #On supprime de Ceci est un email automatique jusqu’à la fin : sed '/Ceci est un email automatique,/,$ d' #On remplace retour à la ligne et tiret par virgule : sed -z 's/.\n - /,/g' #On remplace machine(s) par virgule : sed 's/machine(s)//g' #On remplace en succès par virgule : sed 's/ en succès/,/g' #On remplace les espaces par virgule : sed 's/ /,/g' #On remplace les anti slash par virgule : sed 's/\//,/g' #On supprime les lignes vides : sed -e '/^$/d' #On ajoute en début de ligne l’argument $3 pour différencier les analyses #On sauvegarde dans le fichier passé en argument $2 sed '/Received/,/Comptes clients : /d' $1 | sed '/Ceci est un email automatique,/,$ d' | sed -z 's/.\n - /,/g' | sed 's/machine(s)//g' | sed 's/ en succès/,/g' | sed 's/ /,/g'| sed 's/\//,/g' | sed -e '/^[[:space:]]*$/d' | sed 's/^/'$3',/' > $2 #On supprime le fichier en argument 4 if [ -d "$4" ];then echo "Le Fichier existe ! Vidage !"; rm $4 else echo "Le Fichier n'existe pas ! Création !"; touch $4 fi echo Date,CT,NB_PC_OK,NB_PC_TOT,NOM_AGENT,NB_JOB_OK,NB_JOB_TOT,Notes > $4 #Maintenant on va lire le fichier de destination pour trouver les CT qui ont plus de 1 serveur while read ligne; do #echo $ligne # echo $ligne | cut -d',' -f1 # On récupère les éventuels serveurs CHAMP1=`echo $ligne | cut -d',' -f1,2,3,4` SRV1=`echo $ligne | cut -d',' -f7,8,9,10,11` SRV2=`echo $ligne | cut -d',' -f12,13,14,15,16` SRV3=`echo $ligne | cut -d',' -f17,18,19,20,21` SRV4=`echo $ligne | cut -d',' -f22,23,24,25,26` SRV5=`echo $ligne | cut -d',' -f27,28,29,30,31` NBPC=`echo $ligne | cut -d',' -f4` #Si il y a un serveur1 on écrit les données de la CT et du serveur1 if [ $NBPC -gt 0 ]; then echo $CHAMP1,$SRV1 >> $4 fi #Si il y a un serveur2 on écrit les données de la CT et du serveur2 if [ $NBPC -gt 1 ]; then echo $CHAMP1,$SRV2 >> $4 fi #Si il y a un serveur3 on écrit les données de la CT et du serveur3 if [ $NBPC -gt 2 ]; then echo $CHAMP1,$SRV3 >> $4 fi #Si il y a un serveur4 on écrit les données de la CT et du serveur4 if [ $NBPC -gt 3 ]; then echo $CHAMP1,$SRV4 >> $4 fi #Si il y a un serveur5 on écrit les données de la CT et du serveur5 if [ $NBPC -gt 4 ]; then echo $CHAMP1,$SRV5 >> $4 fi done < $2 exit 0
Ps : Oui je sais le code n’est pas optimal mais il fonctionne :-)
04/11/2024 V2 du script
- Détails
- Écrit par : Super User
- Affichages : 87
Si comme moi vous avez m.... lors de la configuration TOTP de votre serveur Proxmox Backup ou Proxmox PVE
Vous pouvez vous rattraper en ligne de commande SSH
Sur PBS : mv /etc/proxmox-backup/tfa.json /etc/proxmox-backup/tfa.json.old
Sur PVE : mv /etc/pve/priv/tfa.cfg /etc/pve/priv/tfa.cfg.old (à vérifier)
- Détails
- Écrit par : Super User
- Affichages : 750
Forcer arrêt d'une vm qui ne veut pas s’arrêter depuis la GUI et même en CLI
En mode shell sur le serveur qui héberge la VM N° X
faire :
ps -aux | grep N° de la VM
dans la réponse récupérer l'ID du process qui contrôle la VM (2iem colonne) puis faire
kill ID_NUM
puis forcer l'arrêt
qm stop N° de la VM
- Détails
- Écrit par : Super User
- Affichages : 413
Avec Ansible vous pouvez automatiser des actions sur des machines à distance mais il peut y avoir des soucis avec certaines distributions Linux
Voici quelques liens vers des astuces.
https://writeloop.dev/posts/ansible-missing-sudo-password-error-when-running-playbook-or-ping/
hat was when I realized a simple thing: ansible was able to connect.
The problem was that the ubuntu
user on the remote machine, when I ran commands with sudo, was asking for the password!
Then, the fix was simple on the remote machine (ubuntu in this case): I ran some commands to allow the users on the sudo group (which was the case of the ubuntu user) to do sudo passwordless - that was safe in my case because the machine only allowed login as the ubuntu user, with ssh keys, and had fail2ban installed to stop attempts from others to login.
Here are the commands I ran on the remote Ubuntu machine:
# become root:
$ sudo su
# to edit the sudo configuration (this will open vi)
$ visudo
Inside this file, I changed the following configuration:
# Allow members of group sudo to execute any command
# %sudo ALL=(ALL:ALL) ALL
%sudo ALL = (ALL) NOPASSWD: ALL
After that, I logged off from the machine, logged in again, and ran sudo su
again.
I was then able to run this sudo command without a password.
- Détails
- Écrit par : Super User
- Affichages : 629
Gestion de sauvegardes Proxmox vers Infomaniak
Comment je gère mes sauvegardes de machines Proxmox de mon infra personnelle ?
Le matériel :
1 serveur Proxmox (Pve) avec des vm qui tournent
1 NAS OpenMediavault (OMV) avec un disque de 1To, à base de carte Odroid HC2
Le logiciel :
1 sauvegarde depuis le Pve vers le NAS réguliérement
1 sauvegarde rclone depuis le NAS vers un dépot SwissBackup tout les jours du dernier dump de machine
Les réglages :
Dans le serveur Pve le NAS est relié en NFS et dans la partie backup on fait :
Dans la configuration du OMV dans Système - Tâches planifiées, je lance un script qui fait les sauvegardes quotidiennement
#/bin/sh
# On sauvegarde le dernier dump
fichier=$(ls /dossierquicontientlessauvegardes/ -Al -s | grep qemu-100 | tail -n 1 | cut -d':' -f 2 | cut -d' ' -f2 ); rclone sync -P /dossierquicontientlessauvegardes/$fichier nomdudepotdesauvegardesInfomaniak:default
echo sauvegarde de $fichier
# On sauvegarde le dernier log
fichier=$(ls /dossierquicontientlessauvegardes/ -Al -s | grep qemu-100 | tail -n 2 | head -n 1 | cut -d':' -f 2 | cut -d' ' -f2 ); rclone sync -P /dossierquicontientlessauvegardes/$fichier nomdudepotdesauvegardesInfomaniak:default
echo sauvegarde de $fichier