Jump to content

Wikipedia:Database reports/Configuration

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by MZMcBride (talk | contribs) at 02:50, 29 May 2011 (+section). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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"

# ARTICLES
12 0 * * 6 python ~/scripts/database-reports/linkedemailsinarticles.py > /dev/null
0 12 * * 5 python ~/scripts/database-reports/userlinksinarticles.py > /dev/null
0 12 13 * * python ~/scripts/database-reports/coordoverlap.py > /dev/null
0 12 6 * * python ~/scripts/database-reports/redlinkedfilesinarticles.py > /dev/null

# BIOGRAPHIES OF DEAD PEOPLE
30 0 * * 1,4 python ~/scripts/database-reports/potenshbdps1.py > /dev/null
35 0 * * 1,4 python ~/scripts/database-reports/potenshbdps2.py > /dev/null
40 0 * * 1,4 python ~/scripts/database-reports/potenshbdps3.py > /dev/null

# BIOGRAPHIES OF LIVING PEOPLE
0 2 * * 5 python ~/scripts/database-reports/unsourcedblps.py > /dev/null
45 0 * * * python ~/scripts/database-reports/potenshblps1.py > /dev/null
50 0 * * * python ~/scripts/database-reports/potenshblps2.py > /dev/null
55 0 * * * python ~/scripts/database-reports/potenshblps3.py > /dev/null
10 1 * * * nice -n 15 python ~/scripts/database-reports/potenshblps4.py > /dev/null
0 1 * * * python ~/scripts/database-reports/shortestbios.py > /dev/null
15 8 * * 2 python ~/scripts/database-reports/uncatunrefblps.py > /dev/null
20 8 * * 2 python ~/scripts/database-reports/untaggedunrefblps.py > /dev/null
20 8 * * 2 python ~/scripts/database-reports/untaggedblps.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,3,5,6,7 python ~/scripts/database-reports/uncatcats.py > /dev/null
0 0 2 * * python ~/scripts/database-reports/usercats.py > /dev/null

# FILES
10 10 * * 6 python ~/scripts/database-reports/templatelessfilepages.py > /dev/null
40 10 * * 6 python ~/scripts/database-reports/catandtemplessfilepages.py > /dev/null
20 12 * * 6 python ~/scripts/database-reports/filelessfilepages.py > /dev/null
20 13 * * 6 python ~/scripts/database-reports/conflictedfiles.py > /dev/null
20 12 * * 6 python ~/scripts/database-reports/largenonfree.py > /dev/null
0 12 * * 6 python ~/scripts/database-reports/mistaggedfiles.py > /dev/null
20 18 * * * python ~/scripts/database-reports/nonfreemissingrat.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
0 3 * * * python ~/scripts/database-reports/unusednonfree.py > /dev/null

# PAGES
0 18 * * 5 python ~/scripts/database-reports/blankpages.py > /dev/null
0 18 * * 6 python ~/scripts/database-reports/longpages.py > /dev/null
5 18 * * 6 python ~/scripts/database-reports/olddeletiondiscussions.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 6 * * 1 python ~/scripts/database-reports/orphanedsubtalks.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 12 * * 4 python ~/scripts/database-reports/mostwatched.py > /dev/null
0 14 * * 4 python ~/scripts/database-reports/mostwatchedperns.py > /dev/null
0 16 * * 4 python ~/scripts/database-reports/mostwatchedusers.py > /dev/null
15 0 * * * python ~/scripts/database-reports/nscounts.py > /dev/null
0 5 28 * * python ~/scripts/database-reports/mostrevisions.py > /dev/null
10 5 * * 4 python ~/scripts/database-reports/reviewercandidates.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
0 16 * * 4 python ~/scripts/database-reports/unusedstubtemplates.py > /dev/null

# TEMPLATES
0 12 15 * * python ~/scripts/database-reports/epontemps.py > /dev/null
5 20 * * 4 python ~/scripts/database-reports/templatedisambigs.py > /dev/null
0 15 8,22 * * python ~/scripts/database-reports/mosttransclusions.py > /dev/null
25 15 * * 4 python ~/scripts/database-reports/deletedtrans.py > /dev/null
20 15 * * 4 python ~/scripts/database-reports/transusertemps.py > /dev/null
5 15 * * 4 python ~/scripts/database-reports/uncattemps.py > /dev/null
35 15 * * 4 python ~/scripts/database-reports/unprotectedtemps.py > /dev/null
0 15 * * 4 python ~/scripts/database-reports/unusedtemplates.py > /dev/null
10 15 * * 4 python ~/scripts/database-reports/usertempreds.py > /dev/null

# USERS
0 1 * * 1,4 python ~/scripts/database-reports/confirmedusers.py > /dev/null
45 15 * * 3 python ~/scripts/database-reports/blankanontalks.py > /dev/null
0 15 6,20 * * python ~/scripts/database-reports/blockeduserrights.py > /dev/null
0 15 6,20 * * python ~/scripts/database-reports/inactiveuserrights.py > /dev/null
30 15 * * 3 python ~/scripts/database-reports/anononlyanons.py > /dev/null
0 15 * * 3 python ~/scripts/database-reports/noactionuserpages.py > /dev/null
0 15 * * 3 python ~/scripts/database-reports/noactionusertalks.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 * * 1 python ~/scripts/misc/length-gas.py > /dev/null
0 5 14,28 * * python ~/scripts/misc/wikiprojvideo.py > /dev/null
0 5 1 * * python ~/scripts/misc/wikiprojessaycat.py > /dev/null
0 2 10 * * python ~/scripts/misc/wikiprojstubs.py > /dev/null
0 0,6,12,18 * * * python ~/scripts/misc/yanker.py > /dev/null
*/30 * * * * python ~/scripts/misc/unwatched-bios-count-generator.py > /dev/null
50 14 * * * nice -n 19 python ~/scripts/misc/page-creators.py
30 15 * * 3 python ~/scripts/misc/articlecount.py > /dev/null
30 0 * * * python ~/scripts/misc/revdelactions.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

Renaming a report

  • Update file
  • $ git commit
  • $ git push origin master
  • $ git pull
  • Move wiki page (leave redirects if the report has been around for any substantial portion of time)
  • Move configuration subpage (if not an admin)
  • Update entry at WP:DBR