The Power of Unix Scripts for Joomla!
René Kreijveld
Wie kent het nog? De Windows Command prompt
De meeste Joomla! websites zijn gehost op Unix/Linux servers.
• Naast al het mooie grafisch geweld van GUI’s beschikt Unix over een krachOge command prompt: de shell
• De command prompt komt beschikbaar door het starten van een Terminal of ssh sessie
• Windows batchfiles = Unix shell scripts
Een shell starten
• Mac OSX: terminal of iTerm hVp://iterm.sourceforge.net/
• Windows: puVy hVp://www.chiark.greenend.org.uk/~sgtatham/puVy/download.html
Enkele basiscommando’s cd pwd
whoami ls
man mkdir rmdir cat
Let op bij het werken in de shell!
• Veel commando’s vragen niet om een bevesOging, maar voeren direct de gevraagde acOe uit!
• BACKUP – BACKUP – BACKUP zorg alOjd voor een goede backup
• Voorbeeld: rm commando
Uitvoer aan Invoer koppelen
• Uitvoer van een commando kan doorgestuurd worden naar invoer volgende commando
• Uitvoer koppelen met het ‘pipe’ symbool: | • Voorbeelden: ls -‐l | more cat configuraOon.php | grep password
Hoe kan Unix die commando’s vinden?
• Unix zoekt in het ‘zoekpad’ naar uitvoerbare commando’s
• Het zoekpad ligt vast in de environment variabele ‘PATH’
• Het zoekpad is op te vragen met: env | grep PATH
• In te stellen in je .profile (autoexec.bat)
Commando’s combineren: scripts
• Wat batchfiles zijn voor Windows, zijn shell scripts voor Unix
• Plaats de scripts in een directory die in het zoekpad zit
• Maak scripts uitvoerbaar door ze ‘executable’ te maken: chmod +x scriptnaam
• Of, in FTP termen: rwxr-‐xr-‐x
Voorbeeld script: setowner
Command-‐line argumenten
Complexere scripts • joomlainfo Geef informaOe over je Joomla! website
• jdbdump Maakt een database dump
• jbackup Maakt een full backup
• jfindfiles Zoekt ongebruikte bestanden
Bronnen:
h"p://www.jsnippets.net/snippets/bash
hVp://www.shelldorado.com hVp://www.ooblick.com/text/sh/