====== Command line tools for Dokuwiki ====== [[http://www.dokuwiki.org/cli|Dokuwiki Command Line Interface]]\\ Three CLI tools are: * dwpage.php * indexer.php * wantedpages.php ===== Indexer ===== To run this do the following: cd /var/www/sub/wiki /usr/bin/php bin/indexer.php -c chown -R www-data:www-data * Explanation:\\ * Move to the dokuwiki root directory * Run command (make sure your php is where the script says it is) * The command does a clean and recreate index - which is the way I prefer * Make sure the permissions on the new index files are good by changing them to the apache user Here is a full script #!/bin/bash cd /var/www/sub/wiki /usr/bin/php bin/indexer.php -c chown -R www-data:www-data * exit ===== Wanted Pages ===== To run this do the following: cd /var/www/sub/wiki /usr/bin/php bin/wantedpages.php | grep -v "some:namespaces" | grep -v "wiki:nonexisting" | grep -v "wiki:pagename" Explanation:\\ * Move to the dokuwiki root directory * Run the command but ignore some outputs that I know are broken links and don't care to fix * If you get no output you are good to go * Otherwise to find the source file that is having the issue for each line of output run this command * grep -R "somenamespace:someothernamespace:somepage" data/pages/* * This will give you the source page having the broken link Here is a full script that can be saved and run any time: #!/bin/bash NOW=$(date +"%Y-%m-%d-%H-%M-%S") wpages=/tmp/blinks_${NOW}.txt cd /var/www/sub/wiki /usr/bin/php bin/wantedpages.php | grep -v "some:namespaces" | grep -v "wiki:nonexisting" | grep -v "wiki:pagename" > $wpages grep -R -f $wpages data/pages/* | grep -v "\.svn" rm $wpages Explanation:\\ * I have a grep -v "\.svn" because I have my wiki under subversion! * Also this lists both the broken link and the page at which it occurs