Cronjobs + PHP + Composer + Drupal Update (E-Mail Benachrichtigung)

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

CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.

Suche

Neueste Kommentare

  • 2 days ago
    Die Argumentliste ist zu lang (/usr/bin/rm)

    Remove all files starting with 2024 in mydir123 and show the number of deleted files:

    find mydir123 -name '2024*' -exec rm -vf {} \; | wc -l
  • 2 days ago
    Die Argumentliste ist zu lang (/usr/bin/rm)
    find . -name '*' | xargs rm -v
  • 1 week 5 days ago
    Deprecated function: Creation of dynamic property Drupal Tablefield TablefieldFormatter::$ModuleHandler is deprecated
  • 1 month 2 weeks ago
    Transaction isolation level REPEATABLE-READ The recommended level for Drupal is "READ COMMITTED". (Drupal Status Report)

     Edit "/etc/my.cnf" ( under [mysqld] ):

    transaction_isolation="READ-COMMITTED"

    Restart MariaDB / MySQL:

  • 1 month 3 weeks ago
    Wget - Eine Webseite rekursive downloaden

    wget -U 'Mozilla/MyUserAgent' -P MyTempDir123 --wait=0.2 --random-wait -nd -r -x -l 4 -e robots=off --reject

  • 1 month 3 weeks ago
    Wget - Eine Webseite rekursive downloaden

    wget -U 'Mozilla/MyUserAgent2024' -P MyOutPutDirectory --wait=1 --random-wait -nd -r -l 2 -e robots=off --reject

  • 2 months 3 weeks ago
    CPU benchmarking with sysbench (single-threaded/all cores)

     

    # sysbench --threads="$(nproc)" cpu run

  • 2 months 3 weeks ago
    CPU benchmarking with sysbench (single-threaded/all cores)

    # sysbench --threads="$(nproc)" cpu run

  • 2 months 3 weeks ago
    Linux Autovervollständigung - bash autocomplete
    source ~/.bashrc

    Diese Lösung wird empfohlen aber hat bei mir nicht funktioniert.

    Welche Alternative gibt es?

  • 2 months 3 weeks ago
    PHP-CLI auf PHP8.2 umstellen (für Composer, Drush etc)

    ln -snf /opt/plesk/php/8.3/bin/php /etc/alternatives/php