more linux backup and VNC scripts
Cette révision appartient à :
Parent
acf781bab0
révision
f4c4ba9cec
4 fichiers modifiés avec 133 ajouts et 49 suppressions
|
@ -1,49 +0,0 @@
|
|||
#!/bin/sh
|
||||
#Backup des fichiers du serveur
|
||||
#NÉCESSITE LFTP SUR VOTRE SERVEUR (apt install lftp)
|
||||
|
||||
#Définitions des variables
|
||||
#date du jour au format année mois jour pour lister les fichiers naturellement par date
|
||||
datejour=$(date +%Y%m%d)
|
||||
localpath=~/backup/BDD
|
||||
#variables pour le serveur FTP (et sinon, rsync?)
|
||||
remoteserver="serveur-backup.domaine.fr 21"
|
||||
remotepath=/backup/bdd
|
||||
username="nom-dutilisateur"
|
||||
password="Mot de passe ultra-secure of the dead 007 tu peux pas test!"
|
||||
|
||||
#On commence par aller dans le dossier de travail pour les backups
|
||||
cd $localpath
|
||||
|
||||
#On afficher les infos date du jour pour le log.
|
||||
echo "date du jour : $datejour"
|
||||
|
||||
#on dégage les anciennes sauvegardes. espace disque, toussa...
|
||||
rm -f *-SqlBackup.tar.gz
|
||||
|
||||
#on backup les bases dans des sql differents, la syntaxe est :
|
||||
#mysqldump -h _host_ -u _user_ -p_password_ _dbname_ > fichier_sortie.sql
|
||||
echo "amazones-site..."
|
||||
mysqldump -h 127.0.0.1 -u user1 -ppassword1 dbama1 > $datejour-amazones-site.sql
|
||||
echo "albirew..."
|
||||
mysqldump -h 127.0.0.1 -u user2 -p'phrase de passe 2' dbalbirew1 > $datejour-albirew.sql
|
||||
echo "amazones-fofo..."
|
||||
mysqldump -h 127.0.0.1 -u user1 -ppassword1 dbama2 > $datejour-amazones-fofo.sql
|
||||
echo "amazones-site-wiki..."
|
||||
mysqldump -h 127.0.0.1 -u user1 -ppassword1 dbama3 > $datejour-amazones-wiki.sql
|
||||
echo "portail-albirew..."
|
||||
mysqldump -h 127.0.0.1 -u user2 -p'phrase de passe 2' dbalbirew2 > $datejour-albirew-portail.sql
|
||||
echo "nyan-team..."
|
||||
mysqldump -h 127.0.0.1 -u user3 -p'phrase de passe 3' dbnyanesque > $datejour-nyanteam.sql
|
||||
echo "OK, compression..."
|
||||
#on archive tous les backup a la date du jour
|
||||
tar -czf $datejour-SqlBackup.tar.gz *.sql
|
||||
|
||||
#On vire les restes du dossier d'éxécution
|
||||
rm -f *.sql
|
||||
|
||||
echo "parfait (comme ma... planete), maintenant on bazarde tout ça sur la lune..."
|
||||
lftp -u $username,$password -e "mirror --reverse --verbose $localpath/ $remotepath" $remoteserver << bye
|
||||
echo "mission accomplie, sergent!"
|
||||
echo "############################################################################################"
|
||||
echo .
|
61
linux/sauvegarde-mysql.sh
Fichier normal
61
linux/sauvegarde-mysql.sh
Fichier normal
|
@ -0,0 +1,61 @@
|
|||
#!/bin/bash
|
||||
# Backup des bases de données du serveur
|
||||
# NÉCESSITE AU CHOIX:
|
||||
# LFTP SUR VOTRE SERVEUR (apt install lftp)
|
||||
# OU RSYNC AVEC CERTIFICATS SSH
|
||||
|
||||
# Définitions des variables
|
||||
# Date du jour au format AnnéeMoisJour pour que les fichiers soient triés automatiquement par date
|
||||
datejour=$(date +%Y%m%d)
|
||||
# Emplacement du dossier de travail
|
||||
localpath=~/backup/BDD
|
||||
# Connexion de MariaDB/MySQL
|
||||
MARIAUSER=root
|
||||
MARIAPASS="Ceci est un putain de mot de passe en or 24 carats serti de diamants!"
|
||||
email=user@mail.tld
|
||||
# Variables pour le serveur distant
|
||||
remoteserver=serveur-backup.domaine.fr
|
||||
remoteport=22
|
||||
remotepath=/srv/backup/nomduserveur/bdd
|
||||
username=nom-dutilisateur
|
||||
password="Phrase 2 passe ultra-secure of the dead!"
|
||||
|
||||
# On afficher la date du jour pour le log.
|
||||
echo "date du jour : ${datejour}"
|
||||
|
||||
# On se déplace dans le dossier de travail pour les sauvegardes
|
||||
cd ${localpath}
|
||||
|
||||
# on supprime les anciennes archives par souci d'espace disque
|
||||
rm -f *.tar.gz
|
||||
|
||||
# on backup les bases dans des sql differents, la syntaxe est :
|
||||
#mysqldump -h _host_ -u _user_ -p_password_ _dbname_ > fichier_sortie.sql
|
||||
databases=$(mysql --user=${MARIAUSER} --password=${MARIAPASS} -e "SHOW DATABASES;" | tr -d "| " | grep -v Database)
|
||||
# on catche les erreurs
|
||||
if [ ${?} -eq "0" ]; then
|
||||
for db in ${databases}; do
|
||||
if [[ "${db}" != "information_schema" ]] && [[ "${db}" != "performance_schema" ]] && [[ "${db}" != "mysql" ]] && [[ "${db}" != "phpmyadmin" ]] && [[ "${db}" != _* ]] ; then
|
||||
echo "Sauvegarde de: ${db}"
|
||||
mysqldump --force --opt --user=${MARIAUSER} --password=${MARIAPASS} --databases ${db} > ${db}.sql
|
||||
fi
|
||||
done
|
||||
else
|
||||
# epic fail, quitte et envoie rapport
|
||||
echo "--------------- FAIL DETECTED! ABORT! ---------------"
|
||||
tail /var/log/sauvegarde_sql.log | mail -s "Erreur sauvegarde SQL" ${email}
|
||||
exit 1
|
||||
fi
|
||||
echo "OK"
|
||||
# on archive tous les backup a la date du jour
|
||||
tar -czf ${datejour}-nomServeurSQL.tar.gz *.sql
|
||||
|
||||
# on supprime les restes des backup dans le dossier d'éxécution
|
||||
rm -f *.sql
|
||||
|
||||
# le fichier du jour est envoyé sur le serveur
|
||||
#lftp -u ${username},${password} -e "mirror --reverse --verbose ${localpath} ${remotepath}" "${remoteserver} ${remoteport}" << bye
|
||||
rsync -avP -e 'ssh -o StrictHostKeyChecking=no -p ${remoteport}' ${localpath} ${username}@${remoteserver}:${remotepath}
|
||||
echo "Termine"
|
||||
echo "##################################################"
|
||||
echo .
|
46
linux/sauvegarde-pgsql.sh
Fichier normal
46
linux/sauvegarde-pgsql.sh
Fichier normal
|
@ -0,0 +1,46 @@
|
|||
#!/bin/bash
|
||||
# Sauvegarde des bases PostgreSQL du serveur
|
||||
# Définitions des variables
|
||||
backupdir="/home/postgre-backup/"
|
||||
datejour=$(date +%Y%m%d)
|
||||
|
||||
# Vu qu'on envoi l'archive sur un serveur distant, on définie quelques variables de plus
|
||||
remoteserver="mon.serveur.com"
|
||||
remoteport=22
|
||||
remotepath=/path/vers/postgres-backup
|
||||
username="backup-user"
|
||||
password="Mon super mot 2 passe ultra secure écrit en clair dans le script!"
|
||||
# Juste au cas ou, n'oubliez pas de chmod 700 le script et de le mettre dans un endroit inaccessible au public ^_^;
|
||||
|
||||
# On affiche les infos date du jour pour le log
|
||||
echo "date du jour : ${datejour}"
|
||||
|
||||
# On supprime les anciennes archives par souci d'espace disque
|
||||
rm -f ${backupdir}/*.tar.gz
|
||||
|
||||
# On sauvegarde chaque base dans un sql different :
|
||||
databases=`psql -l -t | cut -d'|' -f1 | sed -e 's/ //g' -e '/^$/d'`
|
||||
for for database in ${databases}; do
|
||||
if [ "${database}" != "template0" ] && [ "${database}" != "template1" ]; then
|
||||
echo "Sauvegarde ${database} dans ${backupdir}/${datejour}_${database}.sql"
|
||||
pg_dump -Fc ${database} > ${backupdir}/${datejour}_${database}.sql
|
||||
fi
|
||||
done
|
||||
echo "Dump OK, début de la compression..."
|
||||
# On archive tous les backup a la date du jour
|
||||
tar -czf ${datejour}-SqlBackup.tar.gz *.sql
|
||||
# On supprime les restes des backup dans le dossier d'éxécution
|
||||
rm -f *.sql
|
||||
|
||||
echo "Terminée, on bazarde le .taz.gz sur un serveur distant..."
|
||||
# Le fichier du jour est envoyé sur le serveur, au choix:
|
||||
|
||||
# rsync si présent et si le certificat de connexion est installé pour l'utilisateur du script
|
||||
rsync -avP -e 'ssh -o StrictHostKeyChecking=no -p ${remoteport}' ${backupdir} ${username}@${remoteserver}:${remotepath}
|
||||
|
||||
# Si LFTP est installé sur le serveur
|
||||
#lftp -u ${username},${password} -e "mirror --reverse --verbose ${backupdir} ${remotepath}" "${remoteserver} ${remoteport}" << bye
|
||||
|
||||
echo "Termine"
|
||||
echo "##################################################"
|
||||
echo .
|
26
linux/vnc-server-install.sh
Fichier normal
26
linux/vnc-server-install.sh
Fichier normal
|
@ -0,0 +1,26 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt install -y tigervnc-scraping-server
|
||||
|
||||
echo "########################"
|
||||
echo "# Remote desktop (VNC) #"
|
||||
echo "########################"
|
||||
mkdir -p ~/.vnc
|
||||
echo "veuillez entrer un mot de passe pour VNC:"
|
||||
vncpasswd
|
||||
#echo my-secure-password | vncpasswd -f > ${HOME}/.vnc/passwd
|
||||
#x0vncserver -passwordfile ${HOME}/.vnc/passwd -localhost no -display :0
|
||||
touch ${HOME}/.vnc/vnc.conf
|
||||
echo '$localhost = "no";' > ${HOME}/.vnc/vnc.conf
|
||||
mkdir -p ${HOME}/.config/autostart
|
||||
startvnc=${HOME}/.config/autostart/vnc.desktop
|
||||
touch ${startvnc}
|
||||
echo "[Desktop Entry]" > ${startvnc}
|
||||
echo "Type=Application" >> ${startvnc}
|
||||
echo "Exec=x0vncserver -passwordfile ${HOME}/.vnc/passwd -display :0" >> ${startvnc}
|
||||
echo "Hidden=false" >> ${startvnc}
|
||||
echo "NoDisplay=false" >> ${startvnc}
|
||||
echo "X-GNOME-Autostart-enabled=true" >> ${startvnc}
|
||||
echo "Name=VNC" >> ${startvnc}
|
||||
echo "Comment=Bureau à distance VNC" >> ${startvnc}
|
||||
chmod 664 ${startvnc}
|
Chargement…
Référencer dans un nouveau ticket