.\" Automatically generated by Pod::Man 4.11 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "GBROWSE_CLEAN 1p" .TH GBROWSE_CLEAN 1p "2020-02-16" "perl v5.30.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" gbrowse_clean.pl \- Clean up sessions and other temporary gbrowse2 files .SH "SYNOPSIS" .IX Header "SYNOPSIS" From the command line: .PP .Vb 1 \& sudo \-u www\-data gbrowse_clean.pl .Ve .PP Replace \*(L"www-data\*(R" with the web server account name on your system. .PP To run automatically under cron, create a crontab file for the web server user that contains a line like the following: .PP .Vb 2 \& # m h dom mon dow command \& 5 0 * * /usr/bin/gbrowse_clean.pl >>/var/log/gbrowse2/gbrowse_clean.log .Ve .SH "OPTIONS" .IX Header "OPTIONS" .IP "\fB\-verbose\fR" 4 .IX Item "-verbose" Report actions verbosely, printing out each session, file and directory deleted. .IP "\fB\-help\fR" 4 .IX Item "-help" Print a brief help message and exits. .IP "\fB\-man\fR" 4 .IX Item "-man" Prints the manual page and exits. .SH "DESCRIPTION" .IX Header "DESCRIPTION" GBrowse2 generates a number of temporary files during its operations. These files include session data, data cache files, and temporary image files, as well as user upload data from custom tracks. .PP This script expires these temporary files, releasing unneeded space. The script honors the following options from the GBrowse.conf master configuration file: .PP .Vb 5 \& Name Default Description \& \-\-\-\- \-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\- \& exire session 1M How long to keep session data \& expire cache 2h How long to keep cache data \& expire uploads 6w How long to keep user track data .Ve .PP Time intervals are indicated using a count and a unit: .PP .Vb 9 \& Suffix Time Unit \& \-\-\-\-\-\- \-\-\-\-\-\-\-\-\- \& s seconds \& m minutes \& h hours \& d days \& w weeks \& M months \& y years .Ve .PP \&\fBexpire session\fR controls how long before user session data expires. Once a session expires, the user's saved settings, such as his preferred data source, track visibility settings, and custom track uploads are purged. The expiration interval is measured since the last time the user \fIaccessed\fR his session, so simply loading a region in the browser without changing settings is sufficient to prevent a session from expiring. .PP \&\fBexpire cache\fR controls how long before cached track data is purged from the system. Caching for up to a few hours increases performance because users frequently reload the same region. Caching for longer periods increases the time between updating the database and tracks displaying those changes. .PP \&\fBexpire uploads\fR controls how long to keep user uploaded data for custom tracks on disk. It makes sense to keep it on disk for as long or longer than the session. Even if the user's session expires, he can still get at the uploaded data if he bookmarked his session or shared the uploaded track at any point. .PP This script should be run periodically, ideally under cron. Once per day should be adequate for most uses, but heavily-used sites may wish to run the script more frequently. It is important to run the script under the same user account as the web server; otherwise the script will be unable to delete the files created by the web server user during gbrowse execution. \fBDo not run this script as root.\fR .SH "AUTHOR" .IX Header "AUTHOR" Lincoln D. Stein Copyright 2009 Ontario Institute for Cancer Research .PP This script is available under either the \s-1GNU\s0 General Public License or the Perl Artistic License version 2.0. See \s-1LICENSE\s0 in the GBrowse source code distribution for details. .SH "SEE ALSO" .IX Header "SEE ALSO"