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/	
  
                 	
  
                   	
  

The power of unix scripts for Joomla!

  • 1.
    The  Power  of  Unix  Scripts   for  Joomla!   René  Kreijveld  
  • 2.
    Wie  kent  het  nog?   De  Windows  Command  prompt  
  • 3.
    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  
  • 4.
    Een  shell  starten   •  Mac  OSX:  terminal  of  iTerm   hVp://iterm.sourceforge.net/     •  Windows:  puVy   hVp://www.chiark.greenend.org.uk/ ~sgtatham/puVy/download.html    
  • 5.
    Enkele  basiscommando’s   cd   pwd   whoami   ls   man   mkdir   rmdir   cat    
  • 6.
    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  
  • 7.
    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  
  • 8.
    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)  
  • 9.
    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  
  • 10.
  • 11.
  • 12.
    Complexere  scripts   • joomlainfo   Geef  informaOe  over  je  Joomla!  website   •  jdbdump   Maakt  een  database  dump   •  jbackup   Maakt  een  full  backup   •  jfindfiles   Zoekt  ongebruikte  bestanden  
  • 13.
    Bronnen:   h"p://www.jsnippets.net/snippets/bash     hVp://www.shelldorado.com   hVp://www.ooblick.com/text/sh/