Scheduling File Transfers
Weik.io 2026.1Schedule 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-weekFor 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-FRIRuns Monday through Friday.
Every 2 hours#
schedule: 0 0 */2 * * ?Weekly on Monday#
schedule: 0 0 9 * * MONDaily 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 minutesExamples#
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 * * MONRunning 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: internalAn 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#
- File Transfer Patterns: Filter, sync, and move files
- MFT Setup: Create the CoreSystems for your schedules
- Scheduled Tasks: Details on Weik.io’s scheduling engine