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

  • 1 month 2 weeks ago
    [preflight] The following restricted PHP modes have non-empty values: {open_basedir}. This configuration is incompatible with drush.

    Same with Drush 13 + PHP 8.3

  • 1 month 2 weeks ago
    Acronis CyberProtect Agent For Linux (Strato Root Server)

    Initializing...

    Error : Failed to install the required package 'RPM' by using APT. Please install it manually. 

    Exit


    Solution:

  • 1 month 2 weeks ago
    Acronis CyberProtect Agent For Linux (Strato Root Server)

    So habe es installiert und dann mit Hilfe von Key/Code (über Website von Acronis Cyber Protect) aktiviert:

  • 1 month 3 weeks ago
    No route found for the specified format html. Supported formats: csv, json. (Drupal Routing)

    I have a view with a path like /my-content-export to export entivies as JSON or CSV.

  • 1 month 3 weeks ago
    InvalidArgumentException: The controller for URI "/admin/flush" is not callable.

    admin_toolbar 3.5.2 is the reason. Patch coming ...

  • 2 weeks ago
    PDOException: SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock

    Drupal 10.4:

  • 2 months 3 weeks ago
    Server install & config : Debian 12 + Plesk + Apache + nginx + MariaDB + Solr

    Tools & Settings >> Security Policy :

     Allow only secure FTPS connections 

  • 4 months ago
    MariaDB Server Performance Optimieren

     

    /usr/sbin/mariadbd --help --verbose | grep "query.*size"
  • 4 months ago
    MariaDB Server Performance Optimieren

    Commandline:

    systemctl restart mariadb
  • 4 months ago
    MariaDB Server Performance Optimieren

    After my changes in /etc/mysql/db-performance.cnf