Run Weekly Friday Morning Jobs at 9 AM | CronBase

cron expression Standard
$ 0 9 * * 5

Every Friday morning at nine o'clock

The `0 9 * * 5` cron expression schedules a task to run once a week every Friday morning at exactly 9:00 AM. This cadence is ideal for preparing end-of-week business reports, initiating pre-weekend system backups, or triggering weekly cleanup scripts before engineering teams sign off for the weekend.

Minute
0
Hour
9
Day of Month
*
Month
*
Day of Week
5

Next 5 Runs

  • in 6d 23h
  • in 13d 23h
  • in 20d 23h
  • in 27d 23h
  • in 34d 23h

* Tools

Code & Implementations

nodejs
const cron = require('node-cron');
const { exec } = require('child_process');

console.log('Registering Friday 9 AM weekly scheduler...');

// Schedule syntax: minute hour day-of-month month day-of-week
cron.schedule('0 9 * * 5', () => {
  console.log(`[${new Date().toISOString()}] Initiating weekly Friday task...`);
  
  exec('/usr/local/bin/friday-cleanup.sh', (error, stdout, stderr) => {
    if (error) {
      console.error(`[ERROR] Task failed: ${error.message}`);
      return;
    }
    if (stderr) {
      console.warn(`[WARN] Standard Error Output: ${stderr}`);
    }
    console.log(`[SUCCESS] Output: ${stdout}`);
  });
}, {
  scheduled: true,
  timezone: "America/New_York"
});
Setup notes

Install the node-cron package using npm install node-cron. Run this daemon process using a process manager like PM2 to guarantee uptime.

Partner BetterStack

Monitor this schedule in production

Get alerted the moment this cron job fails, is late, or doesn't run. BetterStack tracks execution, duration, and output — no infrastructure required.

Platform Equivalents

AWS EventBridge

Standard cron expressions often need conversion for AWS EventBridge schedules.

EventBridge Rule
cron(0 9 ? * 5 *)

Systemd Timer

OnCalendarFri *-*-* 09:00:00

my-task.timer
[Unit]
Description=Timer for cron expression: 0 9 * * 5

[Timer]
OnCalendar=Fri *-*-* 09:00:00
Persistent=true

[Install]
WantedBy=timers.target

Frequently Asked Questions

How does daylight saving time affect this Friday 9 AM schedule?

Standard system cron daemons run on the host's local time. During DST transitions, 9:00 AM still occurs normally (unlike 2:00 AM transitions), but the absolute UTC offset changes, which can disrupt downstream systems synced to UTC.

What is the best way to handle failures for this weekly job?

Implement an external monitoring service (like Healthchecks.io or Opsgenie) using a 'dead man's switch' mechanism. If the job does not check in by 9:15 AM every Friday, trigger an immediate high-priority alert to the on-call engineer.

Can I run this job on both Fridays and Saturdays at 9 AM?

Yes, you can modify the day-of-week field to include Saturday by using a list or range. The expression `0 9 * * 5,6` or `0 9 * * 5-6` will trigger the execution at 9:00 AM on both Friday and Saturday.

How do I prevent multiple instances of this weekly cron from running simultaneously?

Wrap your script execution using a locking utility like `flock` in Linux, or use a distributed lock manager like Redis/ZooKeeper if running in a clustered environment. This ensures only one instance executes even if triggered manually.

Is 9:00 AM Friday a safe time to run heavy database migrations?

Generally, no. Friday morning is typically a peak business hour. Running resource-intensive migrations or heavy analytical queries during this time can degrade application performance. Such tasks should be scheduled for weekend maintenance windows instead.

* Explore

Related expressions you might need

Was this helpful?

Last verified: