← Fleet calendar

Operations documentation

VPS scheduled jobs, manual commands, and daily report settings

Cron user

All scheduled jobs run under the drvx user (not root). App root: /home/drvx/rentalcars/.

View crontab:

ssh -p 22911 [email protected] 'crontab -l'

Scheduled jobs (UTC)

Schedule Job Log file
Every 4 hours Database backup backups/backup.log
Hourly at :05 Return reminders backups/return-reminder.log
Hourly at :10 Pick-up reminders backups/pickup-reminder.log
Daily 00:00 Full site backup backups/backup-site.log
Daily 06:00 (07:00 Algiers) Agent daily CSV email backups/agent-daily-report.log

Run manually on the VPS

SSH as drvx, then:

cd /home/drvx/rentalcars

# Agent daily CSV (coming + ongoing bookings)
.venv/bin/python scripts/send_agent_daily_report.py

# Pick-up reminders
.venv/bin/python scripts/send_pickup_reminders.py

# Return reminders
.venv/bin/python scripts/send_return_reminders.py

# Database backup
./deploy/backup-db.sh

# Full site backup
./deploy/backup-site.sh

One-liner from your Mac (example — daily report):

ssh -p 22911 [email protected] 'cd /home/drvx/rentalcars && .venv/bin/python scripts/send_agent_daily_report.py'

Reinstall cron entries

On the VPS as drvx:

cd /home/drvx/rentalcars
bash deploy/install-agent-daily-report-cron.sh
bash deploy/install-pickup-reminder-cron.sh
bash deploy/install-return-reminder-cron.sh
bash deploy/install-db-backup-cron.sh
bash deploy/install-site-backup-cron.sh

DKIM (outbound mail signing)

Install / reinstall OpenDKIM on the VPS:

sudo bash /home/drvx/rentalcars/deploy/server-opendkim.sh

The script prints (and saves to backups/dkim-dns-rentyx-dz.com.txt) the Cloudflare TXT record:

  • Name: default._domainkey.rentyx-dz.com
  • Type: TXT
  • Value: v=DKIM1; h=sha256; k=rsa; p=… (from script output)

Verify after DNS propagation:

sudo opendkim-testkey -d rentyx-dz.com -s default -vvv

Daily agent CSV email

  • Admin recipients: AGENT_DAILY_REPORT_TO in .env, or ADMIN_OTP_EMAIL + OWNER_EMAIL.
  • Per-agency emails: authorized users with Daily agent CSV email checked (Agencies → Authorized users).
  • Disable agency emails globally: AGENT_DAILY_REPORT_AGENCIES=false.
  • Report hour (Algiers): AGENT_DAILY_REPORT_HOUR (default 7).