Je partage ici qq scripts sympas ![]()
Dans mon répertoire /home/USER/scripts/
Envoi d’email avec Curl
Fichier email.sh
#!/bin/bash
if [[ ($# == 0) || ($# -gt 2)]]; then
echo 'Syntaxe: email.sh [titre] contenu'
exit 1
fi
if [[ $# == 1 ]]; then
sub="Notification"
body="$1"
fi
if [[ $# == 2 ]]; then
sub="$1"
body="$2"
fi
declare -A email;
email['user']="xxx@free.fr"
email['pass']="xxxxxxx"
email['smtp']="smtp.free.fr"
email['port']='587'
email['rcpt']='xxx@gmail.com' # adresse destinataire
email_content='From: Raspberry <'"${email['user']}"'>
To: "Gmail" <'"${email['rcpt']}"'>
Subject: '"$sub"'
Date: '"$(date)"'
'"$body"'
';
echo "$email_content" | curl -s \
--url "smtp://${email['smtp']}:${email['port']}" \
--user "${email['user']}:${email['pass']}" \
--mail-from "${email['user']}" \
--mail-rcpt "${email['rcpt']}" \
--upload-file - # email_content
if [[ $? == 0 ]]; then
echo "Email sent to ${email['rcpt']}!"
else
echo "curl error code $?"
man curl | grep "^ \+$? \+"
fi
exit 0
Synchronisation de fichier avec mon Gdrive tous les jours à 5h avec Rclone
Fichier sync_gdrive_rc.sh
#!/bin/bash
DOMAIN=mondomain.duckdns.org
RCLONE_USER=G
RCLONE_MDP=xxxxx
FOLDER=/opt/docker/ha/config/backups
REMOTE_FOLDER="Gdrive:/Home_Assistant/backups"
JSON='{
"srcFs":"'"${FOLDER}"'",
"dstFs":"'"${REMOTE_FOLDER}"'"
}'
#doc : https://git.frostfs.info/KurlesHS/rclone/src/branch/graceful-cancel/docs/content/rc.md
curl -vvv \
--cert "/etc/letsencrypt/live/${DOMAIN}/fullchain.pem" \
--key "/etc/letsencrypt/live/${DOMAIN}/privkey.pem" \
--insecure \
-H "Content-Type: application/json" \
-d "${JSON}" \
"https://${RCLONE_USER}:${RCLONE_MDP}@127.0.0.1:5572/sync/sync"
$RETOUR=$?
if [[ $RETOUR == 0 ]]; then
echo 'Rclone RC sync okay!';
else
echo "curl error code $RETOUR";
man curl | grep "^ \+$RETOUR \+"
fi
echo "$(date) Rclone sync ${FOLDER} to ${BACKUP_FOLDER}!" | tee sync_gdrive.log
exit 0
et on ajoute une planification journaliere avec crontab -e
0 5 * * * /home/USER/scripts/sync_gdrive_rc.sh >/home/USER/scripts/sync_gdrive_rc.cron.log