Afficher/cacher Sommaire
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