|
|
(10 intermediate revisions by 2 users not shown) |
Line 1: |
Line 1: |
| The Gbib contains a script /root/updateBrowser.sh. It updates itself, the directories gbdb, cgi-bin, htdocs, mysql databases and a few other files across the gbib's filesystem (gbib "push" directory).
| | This page is no longer maintained. |
|
| |
|
| To aim of this update process is to keep the CGIs, htdocs, gbdb and mysql files current with the version on hgdownload (or - during beta test time - with the versions prepared on hgwdev. To work with hgwdev binaries, the script has to be run with a parameter "alpha" or "beta")
| | See http://genomewiki.ucsc.edu/genecats/index.php/Gbib_updates |
| | |
| It is run from various places:
| |
| * manually, via the script /home/browser/updateBrowser, which uses sudo without a password prompt. You can specify a parameter here, "beta" or "alpha" (see below)
| |
| * upon boot, with the output directed to the main terminal, without a parameter.
| |
| * every 4 minutes via a cronjob, without a parameter. The cron job has a delay of 120 seconds, to make sure that the invocation on the terminal makes it first. The cronjob also has a delay of a random number of seconds < 30 to spread out the hits to our rsync server.
| |
| | |
| The script goes through these steps:
| |
| | |
| # It first checks if it's run as root. It stops if not.
| |
| # It then checks if it's already running. If it seems to be already running more than twice, it stops (to see why the check is "running more than twice", see step 4).
| |
| # The script then compares the time of http://hgdownload.cse.ucsc.edu/gbib/lastUpdate via a HTTP HEAD request and checks if the URL is more recent than the time of the file /root/lastUpdateTime.flag. If not, it stops. After a successful update, it sets the time of /root/lastUpdateTime.flag to the current time.
| |
| # It will then download a new copy of itself from the source server. This server is hgdownload by default, or hgwdev if run with parameter "alpha" or "beta". It will run this updated copy.
| |
| # It checks and stops if a hgMirror job is running.
| |
| # It updates the CGIs and htdocs either via rsync from hgdownload or by downloading/extracting a tarball from hgwdev.
| |
| # It updates the /gbdb files
| |
| ## note: /gbdb, mysql and hgcentral always come from hgdownload because cluster-admon doesn't want to have an open rsyncd on hgwdev and QA might be working off campus
| |
| # It updates the mysql files
| |
| # It updates hgcentral
| |
| # It copies all other files (gbib.css, gbib icons, updated config files, if needed: new ubuntu packages, if needed: other gbib specific patches) from hgdownload or hgwdev from their "gbib/push" directories into the "/" directory of gbib
| |
| # it modifies the main and the left side menu (remove visiGene, neandertal, galaxy, etc), and rewrites the main page (e.g. replace UCSC Genome browser with "UCSC Genome Browser in a Box")
| |
| # it modifies the contacts page to have a link to UCSC, not to the gbib
| |
| # it makes sure the tableList is not in our local copy of hgcentral (the table list in hgcentral might be outdated on hgdownload and we certainly don't need it, as this DB is always local)
| |
| # it hides the conservation and retroAli tracks in hg19 trackDb
| |
| # it fixes all mysql tables in hg19, hgFixed and hgcentral, as they are often in a crashed state on hgdownload (as the server's tables might not be flushed when the copy is made by Jorge's script)
| |
| # it runs hgMirror to let it do "postRsyncUpdates" (these are part of hgMirror, because they also have to be run after every hgMirror download)
| |
| ## hgMirror goes over all installed databases in mysql and gets a list of tables in there
| |
| ## To improve performance of search, hide some tracks from hgTracks feature searchSpec (e.g. the dozens of outdated gencode tracks)
| |
| ## Tries to find all conservation tracks and hides them
| |
| ## To improve performance, hide some other tracks (e.g. intronEst)
| |
| ## update the local tableList with protected tracks that exist only in gbib, but not on hgdownload. At the moment, this is only HGMD and OMIM.
| |
| # it touches /root/lastUpdateTime.flag
| |