Valid XHTML 1.0!


(last updates: 19./25. Mar 2001, several script improvements and a new one, besides an averaging script)

First a few general remarks: at most with NT you can use a minor(!) part of the following (with the text client only!). Otherwise this is only for full UNIX systems like LINUX, Solaris, IRIX, AIX, HP-UX,... With short ones, which don't use any shell specific constructs, there is no leading shell selection line given, but the others use solely the only portable bourne shell (usually /bin/sh), which is even under LINUX okay, because bash understands this too.

The setiControl script is explained on another page, it may useful for those, who run one or more clients on non-connecting respective manually connecting machines or after modification even simply for multi processor computers?

Then you have to adapt directory entries to your own directory structure. Especially related to cron the absolute paths are important! All variables, which are matter of changes, should be found in the first few lines at top.

Generally it is assumed, that you have a SETI@home top level directory, in which a number of simply enumerated sub directories resides. This is important for some of the scripts below.

New since 25. Mar 2001: this simple script gives you some hints about what's going on in your UNIX system regarding SETI@home. As usual, adjust for directory entries and maybe the process options for listing too?

New since 11. Aug 2001: look on another script page for getting an easy script to determine the average processing time for (no OVERFLOW/RFI units are included!) a given number of result files.

If you are only interested in floppy disk copying scripts, then you may proceed directly to the second part of this page!

General Scripts for You

At first a fast way for automating the only online actions is required: to load a work unit from the Berkeley server and --- if already present --- previously transmitting a result back to the SF Bay Area. For this the following script is used by me (caution, needs another ones below): work unit and result transfer script

As mentioned, there are other scripts used by this one, which starts the SETI@home text client for solely data transfer (valid for V2 clients): result copy script does exactly this: it makes simple enumerated copies of the always relatively low sized result files. CAUTION: this one is for usage with several computers through one connecting machine, it uses special flags for discriminating between different types of directories for enumeration of these different computed ones and even subtracts an old one (- 129), so you have to adapt to your situation; therefore you may simply omit the parts, which count the results from other computers, like in this version of the script. And for currency reasons this script makes copies from the last downloaded user info file into all other directories --- so you can see the last result summary also in the other running clients. Remark: in the for part you have to change the heading names (without current number) to your directory names and eventually the basenum change in the last part of the main loop --- I use different numbering conventions for the first and the other directories!

When you have completed a number of work units, then you may want to submit altogether --- to save time and money. The send and load altogether script does just that. It's based on the above mentioned setitr script and simply loops through all (sub-)directories with the defined general name pattern.

Finally you may be interested in creating and using more directories solely in a longer then usually absence, and to resort to the usual number after ceasing that absence (to keep the time span short from work unit download to result submission). For this, you can stop and enable the ability of the seti clients, to download another work unit after sending the result. If you want another number as the in-built, of course easy to change value, you can tell with the number, from which you will prohibit or allow the downloading of further units (for the moment).

To run the client (without transmissions), you may use either the simple script or this one, which leaves the most available nice CPU time to other running nice processes, for example a client started with the first easy script! So you can run for example two, one fast and one slow, the latter going usually fast after completion of the faster one...

And for the graphical interface, the SETI X client start script does both, what you need: starting the usual client with the needed option and subsequently starting the X client, and corresponding SETI X client stop (minor update/generelization 18. Aug 2000) halts both processes again... Caution: the last one may need to add an option -f after ps for process name display length reasons on Solaris for example!

Final hint: instead making copies of the seti client, it is better (applies also to the X client) to make hard links (as usually, with ln without options), especially with many directories you can save disk space by this approach! Soft links don't work! If you want most or all of these scripts, you can download all as GNU zipped tar file. In any case, watch out for the correct directory path entries and the appropriate place for each script!

Disk Copying Script Support

If you are using like me several computers, but have to copy work units and result files by floppy disks between them, because not all connect to Berkeley themselves, than you will find probably the following time saving scripts useful. My recommendation is, that you create three directories on each floppy and enumerate them over a complete set of floppys (for each computer, if you handle more than one this way). The per directory script may be linked as usual. You need the mtools package for these scripts to work; on most UNIX systems today these MS-DOS floppy disk tools are installed as default. Alternatively you could of course mount the disks regularly (if you have the rights to!) and copy with UNIX statements. But keep in mind: even for the mtools you may need more rights than a usual user has --- especially on well-secured systems --- or your UNIX machine lacks a floppy drive at all. Than you have to resort to ftp or better (more secure) scp or sftp or SSLftp to transfer data; a NFS mount --- if available --- is than the most comfortable solution. Because this requires always special adaptations, I can hardly give you much more advice, despite I'm using several of the mentioned methods myself.

First after downloading a work unit (use setitr script, above, at best!) for another machine, call the put work unit script in the directory. On the target machine you can use accordingly that one this get work unit script. Be aware, that the awk has to seperate the number from the leading common directory name pattern! I use this, because my directories contain two dots, so the third "dot field" is the number. With seti as example leading name, change this to "-F i" and print $2, like it's done in the floppy to disk copy script for the target (non-connecting) machine.

On the target machine, you run the clients as usual, then after completion you can put all present result files on the disk(s) --- if there are several, start with the first (with the lowest directory numbers) disk, and when needed, you see the failure message, just run the script again after changing floppys.

Finally, with this script you can get all the results from all disks back onto the connecting computer; you only have to put each time each floppy with results on it into the connecting machines floppy drive and to start the script for each disk --- don't be afraid, it checks even for the identity of result and preserved work unit (unique key is the name entry). These last four scripts are also contained in this second GNU zip tar file again.


back to top  back to SETI tips  back to SETI main  back to main

remarks etc. to: