...
On Linux there's typically two options for scheduling tasks: cron and systemd timers. In this example, we will use a cron job.
Edit the crontab file with the following command:
Create a new scheduled task at the end of the crontab file. To see documentation on the format, try the man 5 crontab command. In our example, we will run the command once per day at 1 am local time.
...
Code Block |
---|
|
crontab: installing new crontab |
macOS
In this example:
- we will put the unimelb-mf-clients in the ~/Applications folder
- we will save logs to the ~/Documents/logs folder
- we will put the configuration file in the ~/.Arcitecta folder
Download from the GitLab page, selecting the Mac 64bit release. Extract the tar.gz file by clicking on it. It will be extracted to a folder in your Downloads folder, so move it o the Applications folder.
Create a Configuration File. In this case we are going to use a secure token. In our example, it will be stored in ~/.Arcitecta/mflux.cfg.
Code Block |
---|
|
host=mediaflux.researchsoftware.unimelb.edu.au
port=443
transport=https
token=phooP1Angohb2ooyahbiLiuwa6ahjuoKooViedaifooPhiqu1ookahXae7keichael4Shae2ael8ietit2phawucai0Aighifu6olah9OquahDei2aevae3keich8ain1OoLa4O |
Create a shell script to perform the upload using the text editor of your choice. In our example, it will be stored in ~/bin/upload.sh:
Code Block |
---|
|
#!/bin/bash
~/Applications/unimelb-mf-clients-0.7.4/bin/unix/unimelb-mf-upload --mf.config ~/.Arcitecta/mflux.cfg --log-dir ~/logs --dest /projects/proj-demonstration-1128.4.15 ~/data-to-upload |
Edit the crontab file with the following command. By default the vim text editor will be used.
Code Block |
---|
|
crontab -e # this will use the default text editor, usually vim
# if you would prefer to use the pico text editor, use the following command instead:
EDITOR=/usr/bin/pico crontab -e |
Create a new scheduled task at the end of the crontab file. To see documentation on the format, try the man 5 crontab command. In our example, we will run the command once per day at 1 am local time.
Code Block |
---|
|
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h dom mon dow command
0 1 * * * $HOME/bin/upload.sh |
Save the file, and your job will be scheduled.
Code Block |
---|
|
crontab: installing new crontab |