Benutzer-Werkzeuge

Webseiten-Werkzeuge


tips:maintenance

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

tips:maintenance [2012/04/22 14:39] – angelegt timotips:maintenance [2013/06/14 12:21] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 +====== Wartung ======
 +
 +Hier gibt es einige Tipps zur Automatisierung der täglichen Wartung des DokuWiki.
 +
 +===== Die Blacklist aktuell halten =====
 +
 +Wie man einen Cronjob für die Aktualisierung der Anti Spam Blacklist einrichtet, lässt sich unter [[:blacklist]] (englisch) nachlesen.
 +
 +===== Automatisches Aufräumskript =====
 +
 +Es wird empfohlen einen Aufräumprozess für sehr aktive DokuWikis einzusetzen. 
 +
 +Das folgende Shell Script liefert hierzu ein Beispiel. Es löscht alte Revisionen aus dem [[attic]], entfernt abgelaufene Lock-Files und leere Ordner und räumt den [[caching|Cache]] auf ((Eine Diskussion zur Pflege des Caches ist hier im [[http://forum.dokuwiki.org/post/22265|forum]] zu finden (englisch).)). 
 +
 +<file bash cleanup.sh>
 +#!/bin/sh
 +
 +cleanup() {
 +
 +  # $1 ... full path to data directory of wiki
 +  # $2 ... number of days after which old files are to be removed
 +
 +  # purge files older than $2 days from the attic (old revisions)
 +  find "$1"/attic/ -type f -mtime +$2 -print0 | xargs -0r rm -f
 +
 +  # remove stale lock files (files which are 1-2 days old)
 +  find "$1"/locks/ -name '*.lock' -type f -mtime +1 -print0 | xargs -0r rm -f
 +
 +  # remove empty directories
 +  find "$1"/pages/ -depth -type d -empty -print0 | xargs -0r rmdir
 +
 +  # remove files older than $2 days from the cache
 +  find "$1"/cache/?/ -type f -mtime +$2 -print0 | xargs -0r rm -f
 +}
 +
 +# cleanup DokuWiki installations (path to datadir, number of days)
 +# some examples:
 +
 +cleanup /home/user1/htdocs/doku/data    256
 +cleanup /home/user2/htdocs/mywiki/data  180
 +cleanup /var/www/superwiki/data         180
 +</file>
 +
 +Um dieses Script automatisch auszuführen kann man einen [[man>crontab(5)|cronjob]] einrichten. 
 +
 +Das folgende Beispiel ruft das Script jeden Tag 7 Minuten nach Mitternacht auf. Um es als unprivilegierter  Benutzer auszuführen reicht es ''root'' zu entfernen.
 +
 +
 +  7 0 * * *   root  /full/path/to/cleanup.sh
 +  
 +Man sollte an dieser Stelle noch einmal sicherstellen, dass alles richtig eingerichtet ist, um nicht die falschen Sachen zu löschen
 +
 +==== Windows und warmzip ====
 +
 +Ein nützliches Tool für ein Aufräumscript unter Windows ist [[http://winadmin.forret.com/|waRmZip]] welches auf [[http://sourceforge.net/project/showfiles.php?group_id=88417|SourceForge]] verfügbar ist. 
 +
 +Eine Möglichkeit ein Batch-Skript durch einen Cronjob unter Windows auszuführen, bietet folgendes Programm: [[http://www.kalab.com/freeware/pycron/pycron.htm|PyCron]] 
 +
 +<file dos dw-cleanup.bat>
 +@echo off
 +set waRmZip="c:\Program Files\waRmZip\waRmZip.wsf"
 +set wikiHome="c:\path\to\htdocs\wiki\data"
 +
 +rem Move attic files older than 30 days to an archive location
 +%waRmZip% %wikiHome%\attic /ma:30 /md:%wikiHome%_archive\attic /r /q
 +
 +rem Option: delete attic files older than 30 days
 +rem %waRmZip% %wikiHome%\attic /da:30 /dc /r /q
 +
 +rem Delete empty attic directories; waRmZip requires the /da flag when using
 +rem /df, so add filter for *.zzz so /da doesn't remove any files
 +%waRmZip% %wikiHome%\attic /r /da:31 /df /fo:*.zzz /q
 +
 +rem Remove stale lock files
 +%waRmZip% %wikiHome%\locks /da:1 /fo:*.lock /r /q
 +
 +rem Remove empty directories
 +%waRmZip% %wikiHome%\pages /da:365 /df /fo:*.zzz /r /q
 +</file>
 +
 +===== Den Playground sauberhalten =====
 +
 +Um den [[playground:Playground]] oder andere Seiten sauber zu halten, kann auch ein Cronjob eingerichtet werden, der z. B. alle 30 Minuten die gespeicherte Version der Seite wiederherstellt.
 +
 +
 +
 +Beispiel: Den Playground alle 30 Minuten wiederherstellen
 +
 +  0,30 * * * * cp -pf /path/to/savedwiki/data/pages/playground/playground.txt /path/to/dokuwiki/data/pages/playground/
 +
 +Beispiel: Alle Seiten im [[namespace| Namensraum]] 'wiki' alle 30 Minuten wiederherstellen
 +
 +  0,30 * * * * cp -rpf /path/to/savedwiki/data/pages/wiki/ /path/to/dokuwiki/data/pages/wiki/
 +
 +===== Ohne Cronjob =====
 +
 +Wenn auf dem Server kein Cronjob verfügbar ist, kann auch das Plugin [[plugin:cronojob|cronojob]] benutzt werden.
  

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki