How to: Manage Scheduled Tasks Using Crons in NodeWorx

InterWorx provides the NodeWorx administrator the ability to control every unix user’s crontabs directly from the browser interface.

To View a User’s Crontab File

  1. Log into NodeWorx from the browser (https://ip.ad.dr.ess:2443/nodeworx)

  2. Navigate to Server > Cron

  3. From the User dropdown, select a unix user

    crontab

To Edit a User’s Crontab Options

  1. Log into NodeWorx from the browser (https://ip.ad.dr.ess:2443/nodeworx)

  2. Navigate to Server > Cron

  3. From the User dropdown, select a unix user

  4. Under Cron Options, click the Pencil. This opens the Cron Options Form

  5. Make the desired changes. There are three options that can be managed from this form:

    • Shell: All scripts will be executed with this shell

      • The default shell is /bin/sh

    • Path: Sets the directories which will be used in the search path for the cron

    • Mailto: Output produced by a Cronjob will be emailed to this address

    cron options form
  6. Click Update

To Set a New Cron Job

  1. Log into NodeWorx from the browser (https://ip.ad.dr.ess:2443/nodeworx)

  2. Navigate to Server > Cron

  3. From the User dropdown, select a unix user

  4. Under Cron Editor, click the icon

  5. Select either Simple Interface (the default) or Advanced Interface

    • Each interface provides the same options, just different input methods:

      • Simple Interface: Provides a visual guide for each required field, using words and numbers

      • Advanced Interface: Allows the user to manually update the required fields, using numeric notation, similar to editing the crontab from the CLI

    ../../../_images/cron-interfaces.png
  6. Update the required fields:

    • Minute: The minute the cron will run

      • Can be set as a specific minute (8 is the 8th minute of every hour), an interval (every 2, 5, 10, or 15th minute), a range (5-10 is minutes 5 through 10), or every minute (ALL in the Simple Interface, or * in the Advanced Interface)

    • Hour: The hour the cron will run

      • Can be set as a specific hour (10PM is every day at 10PM or 22 is every day at 10PM), an interval (every 2, 4, or 6th hour), a range (5-10 is hours 5AM through 10AM), or every hour (ALL in the Simple Interface, or * in the Advanced Interface)

    • Day: The day of the month the cron will run

      • Can be set as a specific day between 1 and 31 (12 is the 12th day of every month), a range (1-15 is days 1 through 15), an interval (*/3 is every 3 days in the Advanced Interface), or every day (ALL in the Simple Interface, or * in the Advanced Interface)

    • Month: The month the cron will run

      • Can be set as a specific month between 1 and 12 (Feb is every February in the Simple Interface, 2 is every February in the Advanced Interface), a range (5-7 is months May through July), an interval (*/2 is every two months in the Advanced Interface), or every month (ALL in the Simple Interface, or * in the Advanced Interface)

    • Day of the Week: The day of the week the cron will run

      • Can be set as a specific day of the week between 0 and 7 (Wed is every Wednesday in the Simple Interface, 3 is every Wednesday in the Advanced Interface), a range (1-3 is days Monday through Wednesday), an interval (*/2 is every 2 days of the week in the Advanced Interface) or every day of the week (ALL in the Simple Interface, or * in the Advanced Interface)

        • Both 0 and 7 may be used to represent Sunday

    • Script: The script that will run as part of the cron

  7. Click Add

To Edit a Cron Job

  1. Log into NodeWorx from the browser (https://ip.ad.dr.ess:2443/nodeworx)

  2. Navigate to Server > Cron

  3. From the User dropdown, select a unix user

  4. Under Cron Editor, click the Pencil next to the Cronjob to edit. This opens the Edit Cron Job form

  5. Make the desired edits

    cron edit form
  6. Click Save

To Delete a Cron Job

  1. Log into NodeWorx from the browser (https://ip.ad.dr.ess:2443/nodeworx)

  2. Navigate to Server > Cron

  3. From the User dropdown, select a unix user

  4. Under Cron Editor, click the Trashcan next to the Cronjob to delete

    • To delete multiple Cronjobs at one time, select the checkboxes next to the Cronjobs to be deleted and then click Go next to the With Selected dropdown

InterWorx-specific Cronjobs

The InterWorx cron jobs are extremely critical to the InterWorx control panel system. They are assigned to the iworx unix user, and manage such tasks as disk and bandwidth quota enforcement, problem detection, compiling stats, making sure the license is synchronized, etc. They should not be deleted or edited unless there is a specific reason to do so.

iworx cron jobs
  • Fively: Runs every 5 minutes

    • Updates rrd graphs

    • Updates DNS

    • Cleans up empty session fields

    • Syncs scheduled backups

    • Kills stranded processes

    • Updates and applies changes to SiteWorx PHP versions

    • Checks for clustering

    • Calculates bandwidth and storage calculations if the ~iworx/iworx.ini is set to runtime=fively (default setting)

  • Fifteenly: Runs every 15 minutes

    • Retries failed upgrade steps

    • Calculates bandwidth and storage calculations if the ~iworx/iworx.ini is set to runtime=fifteenly

  • Hourly: Runs every hour

    • Checks that localhost is listed in hosts file

    • Deletes expired items in the cache

    • Calculates bandwidth and storage calculations if the ~iworx/iworx.ini is set to runtime=hourly

  • Quad_daily: Runs 4 times a day (every 6 hours)

    • Installs hotfixes

    • Pings license.interworx.com to sync the InterWorx license

    • Updates the System Health page in NodeWorx

    • Calculates bandwidth and storage calculations if the ~iworx/iworx.ini is set to runtime=quad_daily

  • Daily: Runs daily

    • Syncs storage quotas

    • Checks for OS and InterWorx Updates

    • Backs up the InterWorx Database

    • Runs AutoSSL process

    • Checks for Let’s Encrypt SSL certificate renewals

    • Spam Assassin training - uses “sa-learn” to train messages in users’ Learn Spam / Learn Ham folders

    • Bayes training

    • Cleans up pending, malformed SiteWorx accounts

    • Rotates InterWorx logs

    • Calculates stats

    • Calculates bandwidth and storage calculations if the ~iworx/iworx.ini is set to runtime=daily

  • Midnight: Runs daily at midnight

    • Checks for dated domain-level error and transfer logs

    • Creates each new day’s dated domain-level error and transfer logs

  • Weekly: Runs weekly

    • Updates usage data

    • Confirms that domain SSL certificates are up to date

  • Monthly: Currently not used