Drupal Backup & Update Shell Script (Multiple Users / Sites on Linux)

drush.ini

safe_mode =
open_basedir =
max_execution_time = 3600
max_file_uploads = 20
max_input_time = 3600
memory_limit = 8G

 

drupal_backup_update.sh

#!/bin/bash
array=( myuser1 otheruser2 user3 user4 )
for i in "${array[@]}"
do
drush='php -c ~/httpdocs/drush.ini ~/httpdocs/vendor/drush/drush/drush'

if [[ $1 == status ]]; then
su  "$i" <<EOF
cd && cd httpdocs
echo " --------------------- STATUS -------------------"
${drush} status
${drush} pm:security
composer update --dry-run
EOF
fi





if [[ $1 == backup ]]; then
 su  "$i" <<EOF
cd && cd httpdocs
echo " --------------------- BACKUP -------------------"
${drush} sql:dump  | gzip -c > ../backup/db-$(date +%Y-%m-%d-%H%M).sql.gz && tar -zcf ../backup/web-$(date +%Y-%m-%d-%H%M).tar.gz ../httpdocs/
ls -lah ../backup | grep $(date +%Y-%m-%d)
EOF
fi






if [[ $2 == update ]]; then

su  "$i" <<EOF
cd && cd httpdocs
echo " --------------------- UPDATE -------------------"
composer update
${drush} updb -y
${drush} webform:libraries:download
${drush} cr
EOF

fi

run:

/path/to/drupal_backup_update.sh backup update

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 week 5 days ago
    How to Renew Let’s Encrypt SSL Certificate on Plesk via Ubuntu Shell

    Let’s Encrypt will only accept a wildcard via DNS challenge. 

    If your Plesk instance can’t create the _acme-challenge.example.com TXT (external DNS), the extension can’t complete validation and will show no success. 

  • 2 weeks 5 days ago
    Warning: Undefined array key "url" in Drupal\Core\Asset\CssCollectionOptimizerLazy->optimizeGroup()
    Warning: Undefined array key "url" in Drupal\Core\Asset\JsCollectionOptimizerLazy->optimizeGroup() 
  • 3 weeks ago
    Server install & config : Debian 12 + Plesk + Apache + nginx + MariaDB + Solr
    sudo timedatectl set-timezone Europe/Berlin
  • 4 weeks ago
    Warning: PHP Startup: Unable to load dynamic library 'apcu.so' ... cannot open shared object file: No such file or directory

    Try this:

  • 1 month 1 week ago
    List Cronjobs for all users (via for + crontab)

    Alternative (without warnings like "no crontab for dovecot") to see all tasks:

  • 1 month 1 week ago
    Install APCu (PHP 8.1, Plesk)

    php 8.3 apcu failed

    über Plesk hat es geklappt.

     

  • 1 month 1 week ago
    Install APCu (PHP 8.1, Plesk)

     

    install:

    # sudo apt install php-dev
    
  • 1 month 1 week ago
    pecl install apcu : phpize: not found / ERROR: `phpize' failed

    phpize

    # sudo apt install php-dev
    

     

    details

  • 1 month 1 week ago
    Install APCu (PHP 8.1, Plesk)

    Problem:

  • 2 months 4 weeks ago
    Install APCu (PHP 8.1, Plesk)

    Problem: