22.Mai 2013
StartseiteWebdesignPC-TechnikIT-BeratungNetzwerkeSoftwareElektronikSupport
Typo3 Cache löschen Script auch für Cron

 

 

Wer regelmäßig Backups durchführt steht immer wieder vor dem Problem das die Datenbanken recht groß werden obwohl sich relativ wenige Daten im Typo befinden. Die Ursache hierfür ist das Caching System beim Cachen werden Dateien auf dem Server Verzeichnis angelegt sowie Verweise in der Datenbank. Um beides zu löschen vor einen Backup hier nun ein  kleines Script.

Wir übernehmen keine Haftung für eventuelle Schäden !

 

Wichtig passen Sie alle Pfade an und stellen Sie diese auf den Server ein. Weiterhin sollte das DB Passwort hinterlegt werden hier im Scipt wird Plesk verwendet das Passwort befindet sich in der Datei

"/etc/psa/.psa.shadow"

Ein weiterer wichtiger Punkt ist das alle Typo Datenbanken mit dem Präfix t3_ beginnen sollten Sie einen anderen Präfix verwenden oder individuelle Namensräume besitzen muss das Skript zwingen angepasst werden.

Wenn das Script fehlerfrei funktioniert kann dies auch automatisch als Cron Job gestartet werden.

 

Bash
#!/bin/bash
cd /home/backup_service
rm -f sql_clear.sql
touch sql_clear.sql
cd /var/lib/mysq
for i in t3_* ; do
  echo "use $i;" >> /home/backup_service/sql_clear.sql;
  echo "delete from cache_extensions;" >> \
                      /home/backup_service/sql_clear.sql;
  echo "delete from cache_hash;" >> \ 
                     /home/backup_service/sql_clear.sql;
  echo "delete from cache_imagesizes;" >> \ 
                     /home/backup_service/sql_clear.sql;
  echo "delete from cache_md5params;" >> \
                    /home/backup_service/sql_clear.sql;
  echo "delete from cache_pages;" >> \ 
                    /home/backup_service/sql_clear.sql;
  echo "delete from cache_pagesection;" >> \ 
                    /home/backup_service/sql_clear.sql;
  echo "delete from cache_typo3temp_log;" >> \
                        /home/backup_service/sql_clear.sql;
done
 
sleep 2
mysql -uadmin -p`cat /etc/psa/.psa.shadow`  \
               < /home/backup_service/sql_clear.sql
 
# delete file cache
cd /srv/www/vhosts/
for i in * ; do
 # t3 cache loeschen
 if [ -d  /srv/www/vhosts/$i/httpdocs/typo3temp ]; then
       rm -r /srv/www/vhosts/$i/httpdocs/typo3temp/*;
 fi
 if [ -d  /srv/www/vhosts/$i/httpdocs/typo3conf ]; then
  rm -f /srv/www/vhosts/$i/httpdocs/typo3conf/temp_CACHED*;
 fi
done