Skip to content
Weik.ioDocs
2026.1
Try Weik.io

This page describes Weik.io 2026.1, and the current release is 2026.2. Read this topic for 2026.2

Scheduling File Transfers

Weik.io 2026.1

Schedule automated file transfers.

On this page

MFT uses standard cron expressions to run file transfers automatically in the background, without manual triggering.

Cron format#

MFT uses a 6-field cron expression:

seconds minutes hours day-of-month month day-of-week

For example, 0 0 0 * * ? runs at 0 seconds, 0 minutes, 0 hours on any day, which is daily at midnight.

Common schedules#

You can copy these expressions directly into your MFT definitions:

Every hour#

schedule: 0 0 * * * ?

Runs exactly at the top of the hour (1:00, 2:00, 3:00, and so on).

Every 15 minutes#

schedule: 0 */15 * * * ?

Runs at 0, 15, 30, and 45 minutes past the hour.

Daily at midnight#

schedule: 0 0 0 * * ?

Weekdays at 9 AM#

schedule: 0 0 9 * * MON-FRI

Runs Monday through Friday.

Every 2 hours#

schedule: 0 0 */2 * * ?

Weekly on Monday#

schedule: 0 0 9 * * MON

Daily at 2 AM#

schedule: 0 0 2 * * ?

Commonly used for backups outside business hours.

Special characters#

Use these symbols to build custom schedules:

* (Asterisk): Matches any value. In the month field, the job runs every month.

? (Question mark): Indicates no specific value. Use it in either the day-of-month or day-of-week field when the other field specifies a value.

- (Dash): Defines a range.

schedule: 0 0 9 * * MON-FRI  # Monday through Friday

, (Comma): Creates a list of specific values.

schedule: 0 0 9 * * MON,WED,FRI  # Only these three days

/ (Slash): Defines an increment.

schedule: 0 */15 * * * ?  # Every 15 minutes

Examples#

The following examples show schedules inside complete MFT definitions.

Hourly log copy#

Copying log files to storage every hour:

apiVersion: weik.io/v1alpha1
kind: MFT
metadata:
  name: hourly_logs
spec:
  source:
    name: app_server_smb
    path: logs/
  destination:
    name: weikio_blob
    path: logs/
  command: copy
  filters: "*.log"
  schedule: 0 0 * * * ?

Nightly database backup#

Copying database dumps at 2 AM:

apiVersion: weik.io/v1alpha1
kind: MFT
metadata:
  name: nightly_backup
spec:
  source:
    name: backup_server_smb
    path: backups/database/
  destination:
    name: backup_s3
    path: database/
  command: copy
  filters: "*.sql.gz"
  schedule: 0 0 2 * * ?

Weekly report delivery#

Moving generated reports to a partner’s SFTP server on Monday morning:

apiVersion: weik.io/v1alpha1
kind: MFT
metadata:
  name: weekly_reports
spec:
  source:
    name: company_smb
    path: reports/weekly/
  destination:
    name: partner_sftp
    path: incoming/
  command: move
  filters: "report_*.csv"
  schedule: 0 0 9 * * MON

Running jobs on the right agent#

A scheduled job must run on an agent that can reach the source and destination systems. The requirements block tells Weik.io to select an agent with specific capabilities:

apiVersion: weik.io/v1alpha1
kind: MFT
metadata:
  name: onpremise_to_cloud
spec:
  source:
    name: company_smb
    path: data/
  destination:
    name: weikio_blob
    path: data/
  command: copy
  schedule: 0 0 0 * * ?
  requirements:
    Location: OnPremise
    Network: internal

An SMB transfer fails on a cloud agent that has no VPN access to the corporate network. By setting Location: OnPremise, the system waits for an on-premise agent to pick up the scheduled task.

Common requirement tags:

  • Location (e.g., OnPremise, Cloud, Edge)
  • Network (e.g., internal, external, vpn)
  • Environment (e.g., production, staging)

Next steps#