Vendredi 23 novembre 2018

Le fichier bash php /usr/local/bin/phpmail

#!/usr/bin/php
<?php

/*
syntaxe:

exemple:
*/

//*** Lecture des arguments ***
    foreach ($argv as $arg) {
         $e=explode("=",$arg);
        if(count($e)==2)
            $_GET[$e[0]]=$e[1];
        else   
            $_GET[]=$e[0];
    }

//var_dump($_GET);

// Aide
if ($e[0] == "--help" || $e[0] == "-h") {
   echo 'syntaxe :'."\n".'phpmail --message="texte du message" --exe="la commande à exécuter (texte)" --subject="objet du message" --from="adresse mail expéditeur" --to="adresse mail destinataire"'."\n";
   echo 'Option "--exe" facultative ,commande à exécuter entre 2 "`"'."\n";
exit();
}

//message
$message = '';
// option --exe
if (isset($_GET["--exe"])) {
 $message = shell_exec($_GET["--exe"]);
}

// option --message
if (isset($_GET["--message"])) {
  if (empty($message)) {
    $message =  $_GET["--message"];
  } else {
    $message = $_GET["--message"]."\n".$message;
  }
}

// Envoie message uniquement si option "--exe" ou/et "--message"
if (isset($_GET["--exe"]) || isset($_GET["--message"])) {
	$headers = 'From: '.$_GET["--from"]."\r\n".'Content-Type: text/plain; charset=utf-8'."\r\n";
	mail($_GET["--to"], '=?utf-8?B?'.base64_encode($_GET["--subject"]).'?=', $message, $headers);
}
?>

Le rendre exécutable
sudo chmod +x /usr/local/bin/phpmail

La commande pour envoyer un message après la sauvegarde
Ajouter cette ligne en fin du fichier /home/backupuser/sauvegarde.sh
/usr/local/bin/phpmail --exe="echo “grep -A 20 ‘$(date +”%d %B %Y”)’ /home/backupuser/sauvegarde.log”" --subject="Sauvegarde du $(date +"%d %B %Y")" --from="shuttle" --to="cinay@cinay.pw"

Alternative si message texte en plus
/usr/local/bin/phpmail --message="sauvegarde.log..." --exe="echo “grep -A 20 ‘$(date +”%d %B %Y”)’ /home/backupuser/sauvegarde.log”" --subject="Sauvegarde du $(date +"%-d %B %Y")" --from="shuttle" --to="cinay@cinay.pw"

Affichage date avec 0 sur le jour : $(date +"%d %B %Y") –> 01 octobre 2017
Affichage date sans 0 sur le jour : $(date +"%-d %B %Y") –> 1 octobre 2017