Script pour sauvegarder à distance par rsync :
#!/bin/bash
ORIG=/var/mail/
BACKUP="/var/data/sauv/mail"
PORT=22
HOTE=user@serveur
rsync -avz --delete-after --rsync-path=/usr/bin/rsync -e "ssh -p $PORT" $ORIG $HOTE:$BACKUP
Tâche cron pour le lancer en root :
crontab -e
35 3 * * * /root/scripts/rsync-mail-distance.sh 1> /dev/null
Ce script permet de vérifier la présence des dossiers ou des fichiers de sauvegarde. À lancer en fin de journée après les sauvegardes et à faire envoyer par mail si erreur.
#!/bin/bash
annee=`date "+%Y"`
an=`date "+%y"`
mois=`date "+%m"`
date=`date "+%d_%Hh%M"`
jour=`date "+%d"`
# Emplacement du dossier de sauvegarde
BACKUP=/var/data/backup
errs=0
######## Louis ############"
echo -e "\tServeur monbeauserveur.net"
if [ -d $BACKUP/sites/$annee/$mois/$jour* ]; then
echo -e "Sauvegarde des sites\t\t[OK]"
else
echo -e "Sauvegarde des sites\t\t[ERREUR]"
errs=1
fi
if [ -d $BACKUP/mail/$annee/$mois/$jour* ]; then
echo -e "Sauvegarde des mails\t\t[OK]"
else
echo -e "Sauvegarde des mails\t\t[ERREUR]"
errs=1
fi
if [ -f $BACKUP/mysql/mysql_$jour*$mois*$an.sql.gz ]; then
echo -e "Sauvegarde mariadb\t\t[OK]"
else
echo -e "Sauvegarde mariadb\t\t[ERREUR]"
errs=1
fi
if [ $errs = 1 ]; then
exit 1
else
exit 0
fi
Script qui permet de faire un dump de toutes les BDD mysql et de ne garder que quelques jours de sauvegardes
#!/bin/bash
## Paramètres
USER='dbbackup'
PASS='mot de passe'
# Nombre de sauvegardes à garder
RETENTION=5
# date du jour
DATE=`date +%d_%m_%y`
# Exclure des bases
# EXCLUSIONS='(information_schema|performance_schema)'
EXCLUSIONS='(information_schema)'
# Répertoire de stockage des sauvegardes
DATADIR="/var/data/backup/mysql/"
# On place dans un tableau le nom de toutes les bases de données du serveur
databases="$(mysql -u $USER -p$PASS -Bse 'show databases' | grep -v -E $EXCLUSIONS)"
# on boucle sur chaque base
for SQL in $databases
do
mysqldump -u $USER -p$PASS --quick --add-locks --lock-tables --extended-insert $SQL --skip-lock-tables | gzip > ${DATADIR}/$SQL"_"$DATE.sql.gz
done
find ${DATADIR} -name "*.gz" -mtime +${RETENTION} -print -exec rm {} \;`
Tâche cron pour le lancer en root :
crontab -e
01 16 * * * /root/scripts/dumpsql.sh >/dev/null 2>&1
🔷 Mesage d'erreur :
sujet du mail : /usr/lib/armbian/armbian-truncate-logs
error: Ignoring shaarli because it is writable by group or others.
🔷 Solution : en root
chmod go-w /etc/logrotate.d/shaarli
chmod g-w /var/www/shaarli/data/
à tester quand la version Bullseye sortira
Ah oui, c'est vrai: Le répertoire ~/.cache sous Linux peut accumuler des données inutiles. Et par défaut, à ma connaissance, aucune distribution n'a prévu le vidage automatique de ce dossier. Voici donc quelques commandes:
🔷 Voir la place occupée par le cache:
du -h --summarize ~/.cache
🔷 Simuler un effacement des fichiers vieux de plus d'un an :
find ~/.cache -depth -type f -mtime +365
🔷 Effacer ces fichiers vieux de plus d'un an :
find ~/.cache -type f -mtime +365 -delete
Ajouter ça dans ublock : (youtube et google)
www.google.###lb > div[id^="_"] > div[class=" "]:not([id]):empty:matches-css(opacity: 0.7):remove()
www.google.###lb > div[id^="_"] > div[class=" "]:not([id]):has( > span > div[role="dialog"] > #cnsw > iframe[src*="://consent.google.com"]):remove()
www.youtube.com###dialog
||www.gstatic.com/youtube/img/promos/growth/dmod_si_horizontal_ver1_240x400.png$image
www.youtube.com##opened
www.youtube.com##.opened
peut parfois être fait dans les options développeur
puis
adb reboot bootloader
puis
fastboot OEM unlock
Redémarrer en bootloader puis sur un samsung :
sudo heimdall flash --RECOVERY --no-reboot twrp-3.5.1.img
Ne laissez pas redémarrer ! Il faut de suite démarrer en recovery sinon le tél va écraser twrp
Démarrer twrp, puis mettre lineageos en usb ou bien
adb sideload lineageos.zip
Charger aussi le root : https://download.lineageos.org/extras
Paramétres > Son > Sons des touches et tonalité du numéroteur et Vibreur pour le toucher
Activer les options développeur puis dedans activer le root pour les applis
Paramètres > Accessibilité > Bouton marche arret pour raccrocher et Vibreur pour le toucher
Se rendre sur https://f-droid.org et télécharger puis installer f-droid
Lancer f-droid et installer :
AdAway
DAVx5
Fennec
K-9 Mail
Lecteur de code à barres
Libreoffice Viewer
Loyalty Card Keychain
MuPDF mini
NewPipe
Nextcloud
Nextcloud Notes
OsmAnd+
Silence
Sky Map
Aller sur https://langis.cloudfrancois.fr copier le lien
Dans f-droid, paramètres > Dépots +
Recharger les dépots
installer langis
Changer moteur de recherche
Autoriser le root
Liste de blocage DNS à ajouter sur adaway : https://sebsauvage.net/hosts/hosts
Regles automatiques de "ne pas déranger"
Q E Z C pour changer les volumes gauche ou droites
en root :
chown -R redis:redis /var/log/redis
# ligne qui suit, à vérifier si elle sert
chmod -R u+rwX,g+rwX,u+rx /var/log/redis
service redis start
chown -R _rspamd:_rspamd /var/log/rspamd
service rspamd start
Et pour que ça se fasse tout seul au redémarrage : crontab -e
@reboot sleep 300 && chown -R redis:redis /var/log/redis && systemctl start redis
@reboot sleep 310 && chown -R _rspamd:_rspamd /var/log/rspamd && systemctl start rspamd
technique de charpentier pour prendre le patron d'un panneau à couper
Empêcher un service de se lancer automatiquement :
sudo systemctl disable bluetooth
empêchera le service de se lancer au boot
Pour faire l’opération inverse
sudo systemctl enable --now bluetooth
va activer le service et le démarrer.
Désactiver un service totalement : systemctl mask
sudo systemctl mask --now wpa_supplicant
Pour faire l’opération inverse :
sudo systemctl unmask wpa_supplicant
interface wlan0
static ip_address=192.168.1.XXX/24
static routers=192.168.1.X
static ip6_address=XXXX::XXXX/64
static domain_name_servers=192.168.1.XXX ::::1
https://www.reddit.com/r/firefox/comments/ge86z4/newtab_page_to_local_file_firefox_76_redux/
//
pref("general.config.filename", "mozilla.cfg");
pref("general.config.obscure_value", 0);
pref("general.config.sandbox_enabled", false);
//
var {classes:Cc,interfaces:Ci,utils:Cu} = Components;
/* set new tab page */
try {
Cu.import("resource:///modules/AboutNewTab.jsm");
var newTabURL = "file:///home/louis/Documents/acceuil/AccueilSajous.html";
AboutNewTab.newTabURL = newTabURL;
} catch(e){Cu.reportError(e);} // report errors in the Browser Console
https://michael.bouvy.net/blog/en/2013/04/28/graph-data-rrdtool-sensors-arduino/
pour 1wire sur odroidn2, changer le port par défaut 7 --> 11
dtb dans /boot/dtb/amlogic/meson64_odroidn2.dtb
https://wiki.odroid.com/odroid-n2/application_note/gpio/1wire#change_the_default_gpio_pin_for_1-wire_interface
#!/bin/bash
# a script to read and save temperature readings from all the group 28 1-wire temperature sensors
#
# get all devices in the '28' family
FILES=`ls /sys/bus/w1/devices/w1_bus_master1/ | grep '^28'`
# iterate through all the devices
for file in $FILES
do
# get the 2 lines of the response from the device
GETDATA=`cat /sys/bus/w1/devices/w1_bus_master1/$file/w1_slave`
GETDATA1=`echo "$GETDATA" | grep crc`
GETDATA2=`echo "$GETDATA" | grep t=`
# get temperature
TEMP=`echo $GETDATA2 | sed -n 's/.*t=//;p'`
#
# test if crc is 'YES' and temperature is not -62 or +85
if [ `echo $GETDATA1 | sed 's/^.*\(...\)$/\1/'` == "YES" -a $TEMP != "-62" -a $TEMP != "85000" ]
then
# crc is 'YES' and temperature is not -62 or +85 - so save result
echo `date +"%d-%m-%Y %H:%M:%S "; echo $GETDATA2 | sed -n 's/.*t=//;p'` >> /var/1w_files/$file
else
# there was an error (crc not 'yes' or invalid temperature)
# try again after waiting 1 second
sleep 1
# get the 2 lines of the response from the device again
GETDATA=`cat /sys/bus/w1/devices/w1_bus_master1/$file/w1_slave`
GETDATA1=`echo "$GETDATA" | grep crc`
GETDATA2=`echo "$GETDATA" | grep t=`
# get the temperature from the new response
TEMP=`echo $GETDATA2 | sed -n 's/.*t=//;p'`
if [ `echo $GETDATA1 | sed 's/^.*\(...\)$/\1/'` == "YES" -a $TEMP != "-62" -a $TEMP != "85000" ]
then
# save result if crc is 'YES' and temperature is not -62 or +85 - if not, just miss it and move on
echo `date +"%d-%m-%Y %H:%M:%S "; echo $GETDATA2 | sed -n 's/.*t=//;p'` >> /var/1w_files/$file
fi
# this is a retry so log the failure - record date/time & device ID
echo `date +"%d-%m-%Y %H:%M:%S"`" - ""$file" >> /var/1w_files/err.log
fi
done
exit 0
Bonjour.
Juste un message pour vous faire remarquer que vous envoyez des documents au format Word (.doc), ce qui implique:
• D'avoir Microsoft Windows (environ 100€)
• (et donc de subir la surveillance intégrée à Windows)
• D'avoir la suite Microsoft Office (130€)
Il serait préférable de transmettre les documents dans des formats ouverts comme LibreOffice (.odt) ou PDF, afin que tout le monde puisse les lire sans faire le jeu d'une multinationale américaine et de ses logiciels privateurs.
De plus, cela serait plus conforme au Référentiel général d'interopérabilité (RGI) (http://references.modernisation.gouv.fr/interoperabilite).
Ici à la maison, nous n'avons que des Logiciel Libre, qu'il s'agisse du système d'exploitation (Linux) ou des outils bureautique (LibreOffice au lieu de Microsoft Office, GIMP au lieu de Photoshop, etc.), et j'essaie aussi d'enseigner à mes enfants la culture du Logiciel Libre (liberté d'utiliser gratuitement ces logiciels, des les étudier, de les améliorer et de les partager avec d'autres).
Je vous souhaite une bonne journée.
cordialement,
sudo apt-get install encfs
Pour fermer le coffre :
fusermount -u /home/$USER/coffre_open
Pour ouvrir le coffre :
encfs /home/$USER/coffre/ /home/$USER/coffre_open/
Deplacement du wordpress vers un autre support
$ sudo mv /var/www/wordpress /mon/dossier/cible
Création du lien symbolique
$ sudo ln -s /media/disqueexterne/wordpress /var/www/wordpress
Le répertoire doit appartenir à www-data
sudo chown -R www-data:www-data /media/externalharddrive/wordpress
Pour permettre un utilisateur créé sur yunohost de se connecter en ssh, en admin on fait :
yunohost user ssh allow <username>
puis
yunohost user ssh add-key <username> <key>