Script pour une mise à jour automatique de Typo3
Cet article traite des montées de version de Typo3 4.5.x.
Vous avez la possibilité d’utiliser ce script pour automatiser l’ « upgrade » de votre version de Typo3.
Le script backup votre ancienne release Typo3 et va mettre en place les nouvelles sources sur votre serveur Linux.
Script pour l’ « upgrade » de Typo3: update_typo3.sh
#!/bin/sh # # Author : regnier_david@yahoo.fr # Purpose: Upgrade typo3 version # ######################################################### # BEGIN EDIT THIS ONLY ######################################################### # Adjust var, Typo3 version etc ... TYPO3_DIR="typo3_instance" TYPO3_NEW_VERSION_DIR="/home/user/packages/typo3_src-4.5.5/" ######################################################### # END EDIT THIS ONLY ######################################################### ######################################################### # DO NOT EDIT LINES ABOVE ######################################################### DAY_DATE=$(date +"%d%m%Y") TYPO3_BACKUP_DIR='/home/user/backup/backup_'$TYPO3_DIR'_'$DAY_DATE'/' TYPO3_TEMP_DIR='/home/user/backup/temp/' TYPO3_CURRENT_VERSION_DIR='/www/html/'$TYPO3_DIR'/' clear # # Backup old Typo3 version # echo "Step 1 -> Backup old Typo3 version" mkdir -p $TYPO3_BACKUP_DIR mkdir -p $TYPO3_TEMP_DIR # t3lib /bin/cp -rf $TYPO3_CURRENT_VERSION_DIR't3lib/' $TYPO3_BACKUP_DIR >/dev/null 2>&1 # typo3 /bin/cp -rf $TYPO3_CURRENT_VERSION_DIR'typo3/' $TYPO3_BACKUP_DIR >/dev/null 2>&1 # index.php /bin/cp -f $TYPO3_CURRENT_VERSION_DIR'index.php' $TYPO3_BACKUP_DIR >/dev/null 2>&1 # localconf.php /bin/cp -f $TYPO3_CURRENT_VERSION_DIR'typo3conf/localconf.php' $TYPO3_BACKUP_DIR >/dev/null 2>&1 # # Delete old Typo3 version # echo "Step 2 -> Move old Typo3 version" # t3lib /bin/mv -f $TYPO3_CURRENT_VERSION_DIR't3lib/' $TYPO3_TEMP_DIR >/dev/null 2>&1 # typo3 /bin/mv -f $TYPO3_CURRENT_VERSION_DIR'typo3/' $TYPO3_TEMP_DIR >/dev/null 2>&1 # index.php /bin/mv -f $TYPO3_CURRENT_VERSION_DIR'index.php' $TYPO3_TEMP_DIR >/dev/null 2>&1 # # Copy new Typo3 version # echo "Step 3 -> Copy new Typo3 version" /bin/cp -rf $TYPO3_NEW_VERSION_DIR* $TYPO3_CURRENT_VERSION_DIR >/dev/null 2>&1 # # Cleanup temp* # echo "Step 4 -> Cleanup temp DIR and temp_CACHED* files" /bin/mv -f $TYPO3_CURRENT_VERSION_DIR'typo3temp/'* $TYPO3_TEMP_DIR >/dev/null 2>&1 mkdir -p $TYPO3_CURRENT_VERSION_DIR'typo3temp/llxml' /bin/mv -f $TYPO3_CURRENT_VERSION_DIR'typo3conf/temp_CACHED'* $TYPO3_TEMP_DIR >/dev/null 2>&1 # # Fix permissions # echo "Step 5 -> Fix permissions" chown apache:apache -R $TYPO3_CURRENT_VERSION_DIR* chmod 755 -R $TYPO3_CURRENT_VERSION_DIR* # Done echo "Step 6 -> Upgrade done"
Script pour le « rollback » de Typo3: rollback_typo3.sh
#!/bin/sh # # Author : regnier_david@yahoo.fr # Purpose: Rollback typo3 version # ######################################################### # BEGIN EDIT THIS ONLY ######################################################### # Adjust var, Typo3 version etc ... TYPO3_DIR="typo3_instance" ######################################################### # END EDIT THIS ONLY ######################################################### ######################################################### # DO NOT EDIT LINES ABOVE ######################################################### DAY_DATE=$(date +"%d%m%Y") TYPO3_BACKUP_DIR='/home/user/backup/backup_'$TYPO3_DIR'_'$DAY_DATE'/' TYPO3_TEMP_DIR='/home/user/backup/temp_rollback/' TYPO3_CURRENT_VERSION_DIR='/www/html/'$TYPO3_DIR'/' clear # # Move new Typo3 release # echo "Step 1 -> Move new release to temp DIR" mkdir -p $TYPO3_TEMP_DIR # t3lib /bin/mv -f $TYPO3_CURRENT_VERSION_DIR't3lib/' $TYPO3_TEMP_DIR >/dev/null 2>&1 # typo3 /bin/mv -f $TYPO3_CURRENT_VERSION_DIR'typo3/' $TYPO3_TEMP_DIR >/dev/null 2>&1 # index.php /bin/mv -f $TYPO3_CURRENT_VERSION_DIR'index.php' $TYPO3_TEMP_DIR >/dev/null 2>&1 # localconf.php /bin/mv -f $TYPO3_CURRENT_VERSION_DIR'typo3conf/localconf.php' $TYPO3_TEMP_DIR >/dev/null 2>&1 # # Copy old Typo3 release # echo "Step 2 -> Copy old Typo3 version" # t3lib /bin/cp -rf $TYPO3_BACKUP_DIR't3lib/' $TYPO3_CURRENT_VERSION_DIR >/dev/null 2>&1 # typo3 /bin/cp -rf $TYPO3_BACKUP_DIR'typo3/' $TYPO3_CURRENT_VERSION_DIR >/dev/null 2>&1 # index.php /bin/cp -f $TYPO3_BACKUP_DIR'index.php' $TYPO3_CURRENT_VERSION_DIR >/dev/null 2>&1 # localconf.php /bin/cp -f $TYPO3_BACKUP_DIR'localconf.php' $TYPO3_CURRENT_VERSION_DIR'typo3conf/' >/dev/null 2>&1 # # Cleanup temp* # echo "Step 4 -> Cleanup temp DIR and temp_CACHED* files" /bin/mv -f $TYPO3_CURRENT_VERSION_DIR'typo3temp/'* $TYPO3_TEMP_DIR >/dev/null 2>&1 mkdir -p $TYPO3_CURRENT_VERSION_DIR'typo3temp/llxml' /bin/mv -f $TYPO3_CURRENT_VERSION_DIR'typo3conf/temp_CACHED'* $TYPO3_TEMP_DIR >/dev/null 2>&1 # # Fix permissions # echo "Step 5 -> Fix permissions" chown apache:apache -R $TYPO3_CURRENT_VERSION_DIR* chmod 755 -R $TYPO3_CURRENT_VERSION_DIR* # Done echo "Step 6 -> Upgrade done"
Autre version pour l’ « upgrade » de Typo3 (cette version va vérifier les répertoires): update_typo3_v2.sh
#!/bin/sh # # Author : regnier_david@yahoo.fr # Purpose: Upgrade typo3 version # ######################################################### # BEGIN EDIT THIS ONLY ######################################################### # Adjust var, Typo3 version etc ... TYPO3_DIR="typo3_dev" TYPO3_NEW_VERSION_DIR="/home/user/livraison/packages/typo3_src-4.5.5/" # Adjust server for matching # dev / recette / prod TYPO3_SERVER="dev" ######################################################### # END EDIT THIS ONLY ######################################################### ######################################################### # DO NOT EDIT LINES ABOVE ######################################################### DAY_DATE=$(date +"%d%m%Y") TYPO3_BACKUP_DIR='/home/user/backup/backup_'$TYPO3_DIR'_'$DAY_DATE'/' TYPO3_TEMP_DIR='/home/user/backup/temp/' TYPO3_CURRENT_VERSION_DIR='/www/html/'$TYPO3_DIR'/' clear # Init function call_main_process () { # # Backup old Typo3 version # echo "Step 1 -> Backup old Typo3 version" mkdir -p $TYPO3_BACKUP_DIR mkdir -p $TYPO3_TEMP_DIR # t3lib /bin/cp -rf $TYPO3_CURRENT_VERSION_DIR't3lib/' $TYPO3_BACKUP_DIR >/dev/null 2>&1 # typo3 /bin/cp -rf $TYPO3_CURRENT_VERSION_DIR'typo3/' $TYPO3_BACKUP_DIR >/dev/null 2>&1 # index.php /bin/cp -f $TYPO3_CURRENT_VERSION_DIR'index.php' $TYPO3_BACKUP_DIR >/dev/null 2>&1 # localconf.php /bin/cp -f $TYPO3_CURRENT_VERSION_DIR'typo3conf/localconf.php' $TYPO3_BACKUP_DIR >/dev/null 2>&1 # # Delete old Typo3 version # echo "Step 2 -> Move old Typo3 version" # t3lib /bin/mv -f $TYPO3_CURRENT_VERSION_DIR't3lib/' $TYPO3_TEMP_DIR >/dev/null 2>&1 # typo3 /bin/mv -f $TYPO3_CURRENT_VERSION_DIR'typo3/' $TYPO3_TEMP_DIR >/dev/null 2>&1 # index.php /bin/mv -f $TYPO3_CURRENT_VERSION_DIR'index.php' $TYPO3_TEMP_DIR >/dev/null 2>&1 # # Copy new Typo3 version # echo "Step 3 -> Copy new Typo3 version" /bin/cp -rf $TYPO3_NEW_VERSION_DIR* $TYPO3_CURRENT_VERSION_DIR >/dev/null 2>&1 # # Cleanup temp* # echo "Step 4 -> Cleanup temp DIR and temp_CACHED* files" /bin/mv -f $TYPO3_CURRENT_VERSION_DIR'typo3temp/'* $TYPO3_TEMP_DIR >/dev/null 2>&1 mkdir -p $TYPO3_CURRENT_VERSION_DIR'typo3temp/llxml' /bin/mv -f $TYPO3_CURRENT_VERSION_DIR'typo3conf/temp_CACHED'* $TYPO3_TEMP_DIR >/dev/null 2>&1 # # Fix permissions # echo "Step 5 -> Fix permissions" chown apache:apache -R $TYPO3_CURRENT_VERSION_DIR* chmod 755 -R $TYPO3_CURRENT_VERSION_DIR* chmod 755 -R /home/user/* # Done echo "Step 6 -> Upgrade done" # Success exit 0 } # # Main logic # if [ -d $TYPO3_NEW_VERSION_DIR ] then if [ -d $TYPO3_CURRENT_VERSION_DIR ] then if [ $TYPO3_SERVER = dev -a $TYPO3_DIR = typo3_afpa ] then call_main_process elif [ $TYPO3_SERVER = recette -a $TYPO3_DIR = typo3_rec ] then call_main_process elif [ $TYPO3_SERVER = prod -a $TYPO3_DIR = typo3_prod ] then call_main_process else echo 'Erreur -> Le serveur de '$TYPO3_SERVER' ne correspond pas au répertoire: '$TYPO3_DIR exit 1 fi else echo 'Erreur -> La version actuelle de Typo3 '$TYPO3_CURRENT_VERSION_DIR' ne correspond pas' exit 1 fi else echo 'Erreur -> Le package de livraison '$TYPO3_NEW_VERSION_DIR' est inexistant' exit 1 fi # # End #
Vous devez modifier ce script en fonction de vos environnements: votre répertoire qui contient votre site web Typo3, le chemin des nouvelles sources.
Pour exécuter les scripts sur votre serveur Linux
./update_typo3.sh
./rollback_typo3.sh