Mit "composer update --dry-run" Aktualisierungen erfassen und als E-Mail benachrichtigung an "admin/webmaster" schicken:
#!/usr/bin/php
<?php
$webdir = "/var/www/vhosts/site123/httpdocs";
$email = "admin@example.com";
$date_now = date("Y-m-d H:i:s");
chdir($webdir);
$composer_output = shell_exec( "composer update --dry-run 2>&1" );
$update_available = 0;
if( preg_match("#Nothing to install or update#sium", $composer_output) ) {
$update_available = 0;
}
if( preg_match("#([1-9] installs)|([1-9]\d? updates)#simu", $composer_output) ) {
$update_available = 1;
}
if( !empty( $update_available) ) {
echo " \n\n{$date_now} UPDATE FOUND \n\n ";
$subject = "Updates Available $date_now";
$body = " Output of \"composer update --dry-run\": \n\n $composer_output \n\n";
mail($email, $subject, $body );
} else {
echo " \n\n{$date_now} No Update Available. \n\n ";
}
// END
Cronjob Eintrag (Jeden Tag zweimal überprüfen):
1 */12 * * * /path/to/my/update-monitoring-script.php >> /path/to/my/update-monitoring.log
Neuen Kommentar schreiben