Updates local TYPO3 instances to current TYPO3 version if requested. Current TYPO3 version means 4.5.19 to 4.5.20 and not to another branch. Only BugFixes and SecurityFixes, no update to a new Branch! So no breaking changes are going to happen!
This small script is looking for TYPO3 instances under given path
and pathLevel
and checking if downloadable TYPO3 Versions are newer.
- Will download latest_stable, latest_old_stable, latest_lts and latest_deprectated to local path
- Will search for TYPO3 instances under path with pathLevel
- Will check for each TYPO3 instance if is updateable and update if not running in dryMode
- Is able to use certain updateModes
- Copy every file
- Symlink from a global server path
- Copy typo3src to folder and symlinks to that typo3src
- Find out what is currently used and use this way!
Be happy! Your PatchDay is now done in a few minutes. If you are lucky you are not in the need of updateing DB settings. If you are afraid of possible missbehaviour stay in dryMode! You will see every command that is recommend to update your instances.
If you tested this script enought you are able to setup a crontab line to automatically update your TYPO3 instances. You will be informed via mail from which version to which version your instances are going to be updated. Of yource you are also able to run dryMode to do a manually update with given commands in less then a few hours. But why doing this work by yourself?
It is highliy recommend to run this script in drymode for the first runs to check if everything works like expected!
$ ./update.php --templatePath="..." --templateOwner="..." --path="..." --pathLevel="2" --workMode="..." [--forceUpdate] [--pathOwner="..."] [--dryRun] [--suppressOutDated]
30 4 * * * /var/www/TYPO3Updater/update.php --templatePath="/var/www/TYPO3Templates/" --templateOwner="www-data:www-data" --path="/var/www/" --pathLevel="2" --workMode="current" --suppressOutDated
The path where the localCopys of the TYPO3 Template should be stored. For example /var/www/TYPO3Template/
or /home/
.
Has to end with a slash!
The user ( and group ) that should own the TYPO3 Templates. For example root:root
or www-data
.
The path where the search for local instances should start. For example /var/www/
or /home/
Has to end with a slash!
The depth of your architecture. For example:
$path = '/var/www/'
and TYPO3 instances in /var/www/$DOMAIN/htdocs/
then use 2
.
/var/www/ => PATH
$DOMAIN/ => Level 1
htdocs/ => Level 2
WorkMode for updating. Currently supported:
copy
- Copies all important files from the templatesFolder to the TYPO3 instancecurrent
- Figgures out what is currenty used and is able to use different workModes for each instancesymlink
- Symlinks from global source. Exactly Symlinks from templateFoldersymlink_copy
- Copies needed templateFiles to localDir and symlinks to local copy of template
If set will try to update everything, even if no update is needed.
Nice way to figgure out which TYPO3 instances are running on which version or to change workmode globally.
The user ( and group ) that should own the modified files and pathes for each TYPO3 instance. For example root:root
or www-data
.
If not set will use owner and group of parent directory of index.php
If set will only do a dryRun without executing a command. This is highly recommend for testing!
If set will suppress warnings for TYPO3 instances that are not updateable with a latest version.
The TYPO3 Community lives from your contribution!
You wrote a feature? - Start a pull request!
You found a bug? - Write an issue report!
You are in the need of a feature? - Write a feature request!
You have a problem with the usage? - Ask!