CRONw – CRON for Windows

CRONw is a small collection of Perlie things providing the main functions of a *nix-style CRON to the Perl-enabled Windows world. The killer feature and the reason is: It runs as a system service without any additional tools, using the functionality provided by Win32::Daemon.
All you need is a 32-Bit 😉 WindowsPerl, at least Version 5.6, the package Win32::Daemon(included) and – of course – CRONw. You may of course use another Perl distribution if you like, but there’s nothing wrong with ActiveState’s, in fact, we see their distribution as some sort of a reference.

features in CRONw 2.0 “Sapphire Gloss”

New features in 2.0:
  • complete rewrite of cronw which includes better source file naming and provides a solid basis for future extensions
  • greatly improved logging – increase logging output without the need to restart the service
  • use mnemonics inside crontab.txt (e.g. say “Mon-Fri” instead of “0-5”)
  • cron dir support: If you want to execute a job one time a day just put it into the dir cron.daily (same goes for cron.weekly and cron.monthly)
  • syntax checking for crontab.txt
  • lower system payload – crontab is only parsed if it has changed
  • scripting features supported by CMD.exe – write “echo “Hello World” > C:testfile.log” in the crontab
Features that are already present in 1.x:
  • 1,15 in the day field means execution on the 1st and 15th of every month
  • 1-10 is equivalent to 1,2,3,…,10
  • */5 in the minutes fields means that the command should be executed every five minutes.
  • the ability to combine all the above features.
The 2.0 release is mainly just a rename of RC1 so there is no need to upgrade if you are using 2.0 RC1. Please note that version 2.0 is to be taken as incompatible with an existing installation of CRONw 1.x (allthough the crontab format hasn’t changed).
Unfortunately the graphical installer for CRONw didn’t make it in this release, maybe we can get it ready for 2.1.

Release planning for 2.1

Main items (2.1 won’t be published before they are finished):
  • some internal refactorings to keep the code clean
  • run perl files directly – write C:test.pl instead of C:perlbinperl.exe C:test.pl
  • run jobs only once (at start of the service)
Features that may be included:
  • support for the w2k runas command
  • mail output of jobs to a specified address
  • GUI based installer
  • separate the NT/2k/XP specific parts so that it is possible to run CRONw on Windows 95,98 and ME. This will help for debugging, too.
Wishlist features (probably not in the next release):
  • Logging to eventlog: Generally speaking this is already possible but for real support we have to register a dll so that there is no standard windows warning in the eventlog. Someone who wants to fight with the Microsoft message compiler wanted!
Release date: June 2005

Supported systems

Windows 2000 (any version) works
Windows XP (SP 2) works
Windows Server 2003 works
CRONw is distributed under the GNU General Public License (GPL) and currently tested on Windows 2000 only. It should run on all flavors of Windows that know about “services” (which means every Windows based on NT technology should be okay). Please feel free to test CRONw on other versions of Windows and report the results on our mailing list.
The latest development info is summed up on the Project Page (http://sf.net/projects/cronw/). You are currently visiting the Home Page http://cronw.sf.net/ – please find below a bunch of links collected to help you get your CRONw going. The most important will probably be next one:
  • Downloads
    Get the latest release 2.0 of CRONw from sf.net’s File Release System:
    http://sourceforge.net/project/showfiles.php?group_id=87160&package_id=106736
    You will find all files needed to run CRONw but will nevertheless have to install it according to the included INSTALL.txt and UPDATE.txt documents.
    You may monitor each active software package to be automatically announced of new versions. At the very moment, there are only releases in Beta state, production level has not yet been reached.
    For those wanting to grab the scripts off the bleeding edge, I recommend our sharp-knifed
  • CVS Repository [current version: 2.0]
    See what’s cooking inside here. These are the necessary commands for anonymous CVS access:
    cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/cronw login
    cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/cronw co CRONw
    Please be sure to check out the introductory part on our CVS repository.
  • Updates
    Read the UPDATE.txt document.
    In future, we will implement the necessary CVS control files in the package to allow easy updating of the software using your favourite CVS client – if you have any 🙂 My recommendation: Gorgeous TortoiseCVS – try it, it’s a joy!
    Please note that at current we do not provide snapshots from the CVS.
  • Documentation
    You may view the INSTALL.txt an UPDATE.txt files in a formatted manner. The documentation is also included in the package. Feel free to submit your contributions and improvements if you feel this isn’t enough. I feel this, too!
  • Task Manager (aka TODO list)
    The simple TODO list recently found here has now been replaced with sf.net’s Tasks Manager. At the moment, we have set up four subprojects where open tasks can be found. Regard these subprojects as a sort of categories:
    • Install – Installation, Uninstallation and Update
    • Bartwalk – Working on the main engine(s)
    • Structurizing – Clean-Up, Tidying, Structuring the Code, Simplifying
    • Output – Output, Logging and Reporting
    Feel free to contact me if you want to do any of the tasks!
    Please watch the documentation that hopefully 😉 comes with each release for a list of features of the questioned package.
  • News and RSS FeedsForums and Mailing List
    When there’s something really new to be announced about CRONw, you’ll find it here.
    RSS feeds are available for SourceForge.net-hosted projects, and so they are for CRONw. The RSS page provides a listing of the RSS feeds which may be accessed for the project.
    Check out this useful information regarding sf.net-provided RSS feeds if you’re new to RSS. Before you ask – I recommend FeedReader as client – another project at sf.net.
    Meet the users and developer(s) of CRONw in the forums to discuss with each other.
    Additionally, there is a ‘devel’ mailing list, aiming at the more technical interested and the developers of CRONw.
  • Trackers to Browse Bugs and Request Features
    Find these neat sf.net trackers at your hands to look for an existing bug in CRONw or tosearch a feature request already submitted.
    The trackers are the perfect place to submit a new bug (if you found one) or request a feature by yourself (if you want one).
    I cannot pledge any kind of solution to your inquiries, but will try to work on them asap.
  • Help Wanted – Jobs
    Feel yourself invited to join the developers team of CRONw, the more people are working on it, the sooner we will reach production state.
    Currently we’re looking for an experienced Windows programmer who knows about logging to NT eventlog and the Microsoft message compiler. In order to get a userfriendly installer someone with NSIS installer experience would be welcome!
    Please provide some examples of your work, if you’re interested in participating in this sf.net-project. I’m looking forward to reading your mails!

Cronw Project Site: CRONw – CRON for Windows