CRONw - INSTALL
 

This is the INSTALL.txt file of the CRONw - CRON for Windows Project at sourceforge.net. Visit the home page and read the UPDATE.txt document, too.

Installation

We plan to create an windows style installer but for now you have to install CRONw manually:

  1. Install Perl (at least version 5.8). If you can't install a newer perl please use CRONw 1.4.1b. CRONw 2.0 won't work with Perl 5.6 (if you like to use CRONw 2.0 with Perl 5.6 please provide some suitable patches).

    Please verify that your installation was successful:
    Launch the command shell and issue "perl -v":
    If it says "Command not found" or something similar you should fix that first. Probably you have to add the perl/bin directory to your path (please use Google).

    A good output of "perl -v" should look like this:
    > This is perl, v5.8.2 built for MSWin32-x86-multi-thread
    > (with 25 registered patches, see perl -V for more detail)
    > ... even more output

  2. Unpack the files from the .zip file. This will create a 'CRONw' directory holding them. Move it somewhere. 'cd \d' to it.
  3. Install the additionally needed Perl modules. Due to the lack of real installer we decided to simplify the module installation. If you run into trouble using option A please follow the instructions for option B:
    • option A ("the easy way")
      • Launch the command line.
      • cd to your CRONw installation directory
      • type "perl installer.pl" you should see some output. If everything was successful you may go to 4.
    • option B ("the hard way")
      • Launch the command line.
      • cd to your CRONw installation directory
      • type the following commands
        ppm install modules\Win32-Daemon.ppd
        ppm install modules\Number-Compare.ppd
        ppm install modules\Attribute-Handlers.ppd
        ppm install modules\Text-Glob.ppd
        ppm install modules\File-Find-Rule.ppd
        ppm install modules\Date-Manip.ppd
        ppm install modules\Params-Validate.ppd
        ppm install modules\Log-Dispatch.ppd
        ppm install modules\Log-Log4perl.ppd
        ppm install modules\Log-Dispatch-FileRotate.ppd
  4. Install the script as a system service.

    perl cronHelper.pl --install
    (you can get additional help by issuing "cronHelper.pl --help")

    You may use the --user= and --pass= switches to specify the credentials for a certain user.

    If you get errors saying that a perl module wasn't found please verify that all modules were correctly installed (see option B).

  5. Start the cron service:

    net start CRON

That's it. Please read "Debugging your installation" if you encounter any errors.

 

Debugging your installation

Most errors starting the service are due to missing modules. Please launch a command shell, go to your CRONw directory and type perl cronService.pl

If the error message doesn't help you please look into the log located in the subdirectory 'logs'. For additional help please use our mailing list: http://lists.sourceforge.net/lists/listinfo/cronw-devel

 

crontab

The structure of the file crontab is described in the online help, see below. An alternate crontab may be named using the --crontab= switch. You may update the crontab file while the service is running.If no crontab exists during initialization (startup) time of the service, one will be created.

 

Controlling the service

Once the service is installed you can start it via NET START CRON

The service is set to automatic startup at system startup time, so it will be running next time you reboot or power on your computer. If you ever want to stop the service, use NET STOP CRON

You may pause and continue the service by these commands:
NET PAUSE CRON
NET CONTINUE CRON

The service will show up in the list of running services when a single NET START is fired.

You may control it via Windows' MMC administrational tools, too.

Logfiles

The logs will be written to a directory names 'logs' below the main cronw directory. The logging can be controlled by modifing logs.conf.

You may rise the amount of log output by changing the loglevel in configureLogger ("WARN", "INFO") into "DEBUG", "INFO", "WARN", "ERROR" or "FATAL".

Use loglevel debug with care as you'll get very big logfiles after some time. Don't leave it enabled after testing.

Help

  • cronHelper.pl

    If you need some help regarding using cronHelper.pl please issue: perl cronHelper.pl --help

    Examples for cronHelper.pl usage:
    • perl cronHelper.pl --install
    • perl cronHelper.pl --install --user="Domain\User" --password="userpassword"
    • perl cronHelper.pl --remove
  • If you want to run CRONw with a local user id (different from "local system") please use "." as domain (e.g. --user=".\Username"). Please note that the user must have the permission to "act as part of the operating system". You may use the Windows Policy Editor in order to grant this privilege to the desired user (group).

  • Verify that your installation was correct. See "Debugging your installation" for that one.
  • If you have any questions feel free use our mailing list (http://lists.sourceforge.net/lists/listinfo/cronw-devel)

Please decribe the error and the expected results a precise as possible. Reading Eric Raymond's & Rick Moen's "How To Ask Questions The Smart Way" may help you. If you have problems installing CRONw or starting the service please include the output of "perl cronService.pl" in your post.

Security

When using the default preferences all programs referenced in crontab.txt will be executed with the local SYSTEM account. In order to keep your system secure you should ensure that only trustworthy users have write access to "cronService.pl", "Crontab.pm", "log.conf" and "crontab.txt".

Uninstallation

If you ever want to uninstall the software, do this: Stop the service via NET STOP CRON then remove it via perl cronService.pl --remove

Now delete the directory 'CRONw' holding the files.

After that you may choose to remove the additionals modules such as Win32::Daemon. To remove perl modules use "ppm remove <modulename>" (e.g. "ppm remove Win32::Daemon"). Please notice that removing perl modules may break other perl programs which need these modules to.

We recommend not to uninstall any modules.

Credits

A huge thank goes out to Scott McMahan, who wrote the main CRON code and put it in the public domain. He did this back in '95 on Perl 4, while nowadays he wouldn't write such code, he says ;) The original is here: http://www.megadodo.demon.co.uk/perl/ and here: http://cyberreviews.skwc.com/cron.html.

Another bow goes to Dave Roth from Roth Consulting (WA, USA). He provides and maintains the highly useful Win32::Daemon package and other useful contributions to the Perl community. Visit http://roth.net/ for details.

Felix Schwarz did a great rewrite of most of the source, fulfilling several open tasks at once. Thanks!

Authors

This CRON for Windows package was initially built in 2003 by Robert Kehl, Nuremberg, Germany. Comments, suggestions and improvements are welcome at cronw at robertkehl de, have a look at http://www.robertkehl.de for more information.

Felix Schwarz joined the team in early 2004 after thoroughly examining the source code and surviving the horror he faced while reading it.

Bob Showalter joined in spring 2004, now we're three!

SourceForge.net Logo