#!/bin/bash cleanup() { local data_path="$1" # полный путь к каталогу данных вики local retention_days="$2" # количество дней, по истечении которых старые файлы должны быть удалены # удалить файлы старше ${retention_days} дней из attic и media_attic (старые ревизии) find "${data_path}"/{media_,}attic/ -type f -not -name _dummy -mtime +"${retention_days}" -delete # удалить устаревшие файлы блокировки (файлы, которым 1-2 дня) find "${data_path}"/locks/ -name '*.lock' -type f -mtime +1 -delete # удалить пустые каталоги find "${data_path}"/{attic,cache,index,locks,media,media_attic,media_meta,meta,pages,tmp}/ \ -mindepth 1 -type d -empty -delete # удалить файлы старше ${retention_days} дней из кэша if test -n "$(find "${data_path}"/cache/?/ -maxdepth 1 -print -quit &> /dev/null)" then find "${data_path}"/cache/?/ -type f -not -name _dummy -mtime +"${retention_days}" -delete fi } # очистка установок DokuWiki (путь к datadir, количество дней) # несколько примеров: cleanup /home/user1/htdocs/doku/data 256 cleanup /home/user2/htdocs/mywiki/data 180 cleanup /var/www/superwiki/data 180