Updating QA crontabs: Difference between revisions
(→Steps) |
(→Steps) |
||
Line 29: | Line 29: | ||
'''Step 6.''' Ok, now YOUR genecats crontab has been updated, but it now needs to be sync'd to the crontab on qateam@hgwdev. This step provides instructions on how to compare YOUR genecats crontab with QA Team's hgwdev crontab. | '''Step 6.''' Ok, now YOUR genecats crontab has been updated, but it now needs to be sync'd to the crontab on qateam@hgwdev. This step provides instructions on how to compare YOUR genecats crontab with QA Team's hgwdev crontab. | ||
#From qateam@hgwdev, output the current crontab with "crontab -l", which essentially creates a copy of the crontab. Note that this file does not have your edits yet, because you made your edits in YOUR genecats repo, not to the crontab on QA Team's hgwdev. | #From qateam@hgwdev, output the current crontab with "crontab -l", which essentially creates a copy of the crontab. Note that this file does not have your edits yet, because you made your edits in YOUR genecats repo, not to the crontab on QA Team's hgwdev. | ||
#You can put this in a temp file such as <tt>crontab -l > tmp/deleteMe/ | #You can put this in a temp file such as <tt>crontab -l > tmp/deleteMe/hgwdev.crontab.[today'sDate]</tt>, but it really doesn't matter where you put this file. You could even put it in your home directory, such as <tt>~/temp/crontab.hgwdev</tt> | ||
'''Step 7.''' Now that you have your comparison file, you can compare the two to be sure your changes are all you are updating (where <tt>brianlee</tt> is changed to your directory). <tt>diff | '''Step 7.''' Now that you have your comparison file, you can compare the two to be sure your changes are all you are updating (where <tt>brianlee</tt> is changed to your directory). <tt>diff tmp/deleteMe/hgwdev.crontab.[today'sDate] ~brianlee/genecats/qa/crontabs/hgwdev.crontab</tt>. Once you do the diff, you should only see the line/s that you added or edited. | ||
'''Step 8.''' From qateam@hgwdev, you now need to update the crontab on qateam@hgwdev by "running" your revised genecats version: | |||
:<tt>crontab ~brianlee/genecats/qa/crontabs/hgwdev.crontab </tt>. | |||
Now your crontab from your home dir (in the genecats repository) will match the crontab for QA Team's hgwdev, and you are done! | |||
===Resources=== | ===Resources=== |
Revision as of 22:38, 3 February 2017
This page is about changing the nightly cron jobs that run on hgwdev to a controlled fashion.
DO NOT EDIT THE QATEAM hgwdev CRONTAB FILE DIRECTLY
Summary
- Edit (in your home dir): genecats/qa/crontabs/hgwdev.crontab.
- Make a file with the contents of QA Team's hgwdev crontab file, and do a diff with YOUR genecats file you just edited.
- Run a command to update QA Team's hgwdev crontab file so that it reflects your changes.
Steps
Step 1. Go to your genecats repository and do a git pull to bring it up to date.
Step 2. Edit your genecats/qa/crontabs/hgwdev.crontab (add a new cronjob, change an exisiting cronjob, etc.). For example:
MAILTO=braney@soe.ucsc.edu,brianlee@soe.ucsc.edu HGDB_CONF=.hg.conf.beta 15 03 * * * /cluster/bin/x86_64/hubPublicCheck hubPublic -udcDir=/data/tmp/qa 16 02 * * * /cluster/bin/x86_64/hgsql -e "select hubUrl from hubPublic" hgcentralbeta | tail -n +2 | while read url; do /cluster/bin/x86_64/hubCheck -udcDir=/data/tmp/qa $url; done
(Reminder of first numbers: Minute then Hour DOM Month DOW command)
Step 3. In another terminal you can ssh qateam@hgwdev
Step 4. [OPTIONAL STEP, only needed for a new job] If you have a new cronjob, test your changes from qateam, for example in the above run /cluster/bin/x86_64/hubPublicCheck hubPublic -udcDir=/data/tmp/qa and your other commands to see if they will work as expected from the home directory.
Step 5. Once you are happy with your edits, commit & push your changes. From your own ~/genecats directory, do a git status, add hgwdev.crontab, commit, and push.
Step 6. Ok, now YOUR genecats crontab has been updated, but it now needs to be sync'd to the crontab on qateam@hgwdev. This step provides instructions on how to compare YOUR genecats crontab with QA Team's hgwdev crontab.
- From qateam@hgwdev, output the current crontab with "crontab -l", which essentially creates a copy of the crontab. Note that this file does not have your edits yet, because you made your edits in YOUR genecats repo, not to the crontab on QA Team's hgwdev.
- You can put this in a temp file such as crontab -l > tmp/deleteMe/hgwdev.crontab.[today'sDate], but it really doesn't matter where you put this file. You could even put it in your home directory, such as ~/temp/crontab.hgwdev
Step 7. Now that you have your comparison file, you can compare the two to be sure your changes are all you are updating (where brianlee is changed to your directory). diff tmp/deleteMe/hgwdev.crontab.[today'sDate] ~brianlee/genecats/qa/crontabs/hgwdev.crontab. Once you do the diff, you should only see the line/s that you added or edited.
Step 8. From qateam@hgwdev, you now need to update the crontab on qateam@hgwdev by "running" your revised genecats version:
- crontab ~brianlee/genecats/qa/crontabs/hgwdev.crontab .
Now your crontab from your home dir (in the genecats repository) will match the crontab for QA Team's hgwdev, and you are done!
Resources
Test your cron setting: http://cron.schlitt.info/