cron
0 0 * * *Linux Log Rotation — Daily Midnight
“At 00:00”
Daily log rotation via logrotate at midnight. Compresses previous day's logs, removes files older than retention policy (30 days default), and signals daemons to reopen log file handles.
Daily1 run/day
Want to customize this schedule or validate your own cron expression?
Try it live →Field Breakdown
| Field | Value | Meaning |
|---|---|---|
| minute | 0 | 0 |
| hour | 0 | 0 |
| day | * | every day of month |
| month | * | every month |
| weekday | * | every day of week |
0
minute
0
hour
*
day
*
month
*
weekday
Lint Analysis
Info
This time may fall within a DST transition gap for some timezones. Jobs could be skipped or run twice.
Common Use Cases
- ✓logrotate daily midnight
- ✓Linux log file rotation cron
- ✓Syslog compression daily
- ✓Log retention cleanup Linux
Code Examples
Bash / crontab
# Run your script on schedule: 0 0 * * * 0 0 * * * /path/to/your/script.sh
Node.js (node-cron)
import cron from 'node-cron';
cron.schedule('0 0 * * *', () => {
console.log('Running scheduled task');
});Python (APScheduler)
from apscheduler.schedulers.blocking import BlockingScheduler
scheduler = BlockingScheduler()
@scheduler.scheduled_job('cron', minute='0', hour='0')
def my_job():
print('Running scheduled task')
scheduler.start()GitHub Actions Workflow
Generate a ready-to-use .github/workflows/schedule.yml file. Customize the name and download directly.
GitHub Actions
# .github/workflows/schedule.yml
name: Linux Log Rotation — Daily Midnight
on:
schedule:
- cron: '0 0 * * *'
workflow_dispatch: # allow manual trigger
jobs:
run:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Run scheduled task
run: |
echo "Running on schedule: 0 0 * * *"
# Add your commands here
Save as .github/workflows/schedule.yml in your repository root
Cron Syntax Quick Reference
| Field | Allowed Values | Special Chars |
|---|---|---|
| minute | 0–59 | * , - / |
| hour | 0–23 | * , - / |
| day of month | 1–31 | * , - / |
| month | 1–12 or JAN–DEC | * , - / |
| day of week | 0–7 or SUN–SAT | * , - / |
Special characters: *= any value ,= list -= range / = step
Related Patterns — Daily
Need to build your own cron expression from scratch?
Open the Cron Expression Builder →