Wikipedia:Database reports/Configuration
Appearance
wikitools
Every script uses wikitools.
The source code for all of the scripts is available on GitHub (under the name "database-reports").
crontab
# INSTRUCTIONS
# MIN HOUR DAYMONTH MONTH DAYWEEK
# GENERAL INFO
MAILTO=user@example.com
PYTHONPATH="/home/user/scripts:/home/user/scripts/pywikipedia"
# ARTICLES
12 0 * * * python ~/scripts/database-reports/linkedemailsinarticles.py > /dev/null
0 12 * * 5 python ~/scripts/database-reports/userlinksinarticles.py > /dev/null
0 12 6 * * python ~/scripts/database-reports/redlinkedfilesinarticles.py > /dev/null
# BIOGRAPHIES OF LIVING PEOPLE
0 2 * * 5 python ~/scripts/database-reports/unsourcedblps.py > /dev/null
# BLOCKS
0 0 * * 2 python ~/scripts/database-reports/indefips.py > /dev/null
5 0 * * 2 python ~/scripts/database-reports/rangeblocks.py > /dev/null
0 12 8 * * python ~/scripts/database-reports/excessiveips.py > /dev/null
5 12 8 * * python ~/scripts/database-reports/excessiveusers.py > /dev/null
# CATEGORIES
0 1 * * 0 python ~/scripts/database-reports/redlinkedcatsincats.py > /dev/null
0 12 * * 5 python ~/scripts/database-reports/deletedredlinkedcats.py > /dev/null
0 1 * * 1,4 python ~/scripts/database-reports/emptycats.py > /dev/null
0 2 * * 2,6 python ~/scripts/database-reports/pollcats.py > /dev/null
0 6 * * 3 python ~/scripts/database-reports/selfcatcats.py > /dev/null
0 0 * * 1,5 python ~/scripts/database-reports/uncatcats.py > /dev/null
0 0 2 * * python ~/scripts/database-reports/usercats.py > /dev/null
# FILES
20 12 * * 6 python ~/scripts/database-reports/filelessfilepages.py > /dev/null
10 10 * * 6 python ~/scripts/database-reports/templatelessfilepages.py > /dev/null
40 10 * * 6 python ~/scripts/database-reports/catandtemplessfilepages.py > /dev/null
0 12 * * 6 python ~/scripts/database-reports/mistaggedfiles.py > /dev/null
5 12 * * 6 python ~/scripts/database-reports/templatesnonfree.py > /dev/null
10 12 * * 6 python ~/scripts/database-reports/pageslotnonfree.py > /dev/null
15 12 * * 6 python ~/scripts/database-reports/overusednonfree.py > /dev/null
# PAGES
0 12 * * 3 python ~/scripts/database-reports/atypicaldeletions.py > /dev/null
0 18 * * 5 python ~/scripts/database-reports/blankpages.py > /dev/null
0 18 * * 6 python ~/scripts/database-reports/longpages.py > /dev/null
0 17 12 * * python ~/scripts/database-reports/orphanedafds.py > /dev/null
0 18 * * 3 python ~/scripts/database-reports/orphanedprojs.py > /dev/null
0 6 * * 1,5 python ~/scripts/database-reports/orphanedtalks.py > /dev/null
0 12 * * 6 python ~/scripts/database-reports/ownerlessuserpages.py > /dev/null
10 18 * * 5 python ~/scripts/database-reports/shortpages.py > /dev/null
0 12 10 * * python ~/scripts/database-reports/redlinkedfilesintemplates.py > /dev/null
# PROTECTIONS
5 12 7 * * python ~/scripts/database-reports/excessivefullarticles.py > /dev/null
35 0 * * 4 python ~/scripts/database-reports/indeffullarticles.py > /dev/null
45 0 * * 4 python ~/scripts/database-reports/indeffulltalks.py > /dev/null
6 12 7 * * python ~/scripts/database-reports/protlowtemps.py > /dev/null
30 0 * * 4 python ~/scripts/database-reports/indefsemiarticles.py > /dev/null
40 0 * * 4 python ~/scripts/database-reports/indefsemitalks.py > /dev/null
0 12 7 * * python ~/scripts/database-reports/excessivesemiarticles.py > /dev/null
# REDIRECTS
30 23 * * * python ~/scripts/database-reports/brokenredirects.py > /dev/null
30 0 1 * * python ~/scripts/database-reports/crossredirects.py > /dev/null
30 12 * * 6 python ~/scripts/database-reports/redreds.py > /dev/null
30 18 * * 6 python ~/scripts/database-reports/longredirects.py > /dev/null
# STATISTICS
0 1 * * 1,4 python ~/scripts/database-reports/confirmedusers.py > /dev/null
0 15 6,20 * * python ~/scripts/database-reports/inactiveuserrights.py > /dev/null
0 15 6,20 * * python ~/scripts/database-reports/blockeduserrights.py > /dev/null
0 12 * * 4 python ~/scripts/database-reports/mostwatched.py > /dev/null
15 0 * * * python ~/scripts/database-reports/nscounts.py > /dev/null
0 5 28 * * python ~/scripts/database-reports/mostrevisions.py > /dev/null
0 13 * * 4 python ~/scripts/database-reports/usersbyupload.py > /dev/null
20 0 * * * python ~/scripts/database-reports/logactions.py > /dev/null
# STUBS
0 15 * * 5 python ~/scripts/database-reports/longstubs.py > /dev/null
0 7 13 * * python ~/scripts/database-reports/directstubs.py > /dev/null
# TEMPLATES
0 15 8,22 * * python ~/scripts/database-reports/mosttransclusions.py > /dev/null
0 15 * * 4 python ~/scripts/database-reports/unusedtemplates.py > /dev/null
# MISCELLANEOUS
30 4 * * 3 python ~/scripts/tswiki/wikiassignments.py > /dev/null
45 4 * * 3 python ~/scripts/misc/editcount.py > /dev/null
0 5 * * 1 python ~/scripts/misc/long-feats.py > /dev/null
0 5 14,28 * * python ~/scripts/misc/wikiprojvideo.py > /dev/null
0 2 10 * * python ~/scripts/misc/wikiprojstubs.py > /dev/null
# WIKI BOTS
10 0 * * * python ~/scripts/biobot/biobot.py > /dev/null
8 0 * * * python ~/scripts/biobot/newbios.py > /dev/null
0 3 * * 5 python ~/scripts/biobot/possunsourcedbios.py > /dev/null
Adding a report
- Create file
- $ git add
- $ git commit
- $ git push origin master
- $ git pull
- Run report
- Add entry to WP:DBR
- Add entry to crontab
- $ synctab
- Create configuration subpage
- Update /Announcements