我想创建一个 cron 任务,将文件从我电脑上的目录上传到我的 FTP 服务器。我希望它每天午夜执行此操作。我对 cron 几乎一无所知,所以如果我听起来很愚蠢,我深表歉意!
答案1
这是用于传输一个文件的 FTP 示例脚本:(请注意,您可以使用 FQDN 而不是 IP)
#!/bin/bash
# $1 is the file name for the you want to tranfer
# usage: this_script <filename>
IP_address="xx.xxx.xx.xx"
username="remote_ftp_username"
domain = sample.domain.ftp
password= password
ftp -n > ftp_$$.log <<EOF
verbose
open $IP_address
USER $username $password
put $1
bye
EOF
仅当您需要记录时才添加> ftp_$$.log
。然后您可以使用
crontab -e
命令来编辑 cronjob 表并添加您的脚本。
这是一个例子:
如果您喜欢上面的脚本(假设您在家里有它,它的名字是 myscript.sh)/home/myscript.sh,每天凌晨 2 点运行,您必须执行以下操作:
# crontab -e
然后必须添加以下条目:
0 2 * * * /home/myscript.sh
作为参考,这里有一个crontab条目参数含义:
* * * * * command to be executed
- - - - -
| | | | |
| | | | ----- Day of week (0 - 7) (Sunday=0 or 7)
| | | ------- Month (1 - 12)
| | --------- Day of month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)
本教程也能帮助你。
答案2
男人crontab会显示你所需要的内容。你需要的内容如下:
0 0 * * * yourScript.sh
在您的 crontab 文件中。请注意,脚本在cron
精简环境中运行,因此您必须在该脚本中指定脚本所需的环境设置。