用于下载文件的Bash cronjob问题

时间:2017-05-09 08:57:26

标签: bash shell unix cron sshpass

我知道如何一次性从SFTP服务器下载所有样本并使用下面提到的脚本。

#download.sh
sshpass -p password sftp username@X.X.X.X:/Files/2017-05-05-00.zip  ~/local_machine/2017-05-05/
sshpass -p password sftp username@X.X.X.X:/Files/2017-05-05-01.zip  ~/local_machine/2017-05-05/
sshpass -p password sftp username@X.X.X.X:/Files/2017-05-05-02.zip  ~/local_machine/2017-05-05/
.................................................................
sshpass -p password sftp username@X.X.X.X:/Files/2017-05-05-23.zip  ~/local_machine/2017-05-05

不是运行脚本(download.sh)一次下载所有文件,而是如何每小时间隔下载文件。例如,在上面的脚本

download.sh的第一行(2017-05-05-00.zip下载)需要在7AM进行,这仅适用于查找文件2017-05-05-00不应该查看.zip和其他行。

download.sh中的第二行(2017-05-05-01.zip下载)需要在8AM进行,直到23日文件为止。

当一个人被执行时,不应该查找其他任何文件。

不确定如何使用bash cron作业执行此操作,有关如何执行此操作的任何建议吗?

1 个答案:

答案 0 :(得分:4)

尝试使用GNU日期的这个cronjob:

%

通常有必要在cronjob中使用\转义total = prompt('you can input number 1-1000, but 1000 will take a LOONG time'); count = 0; t100 = total; function money() { for (var i100 = Math.floor(t100 / 100); i100 >= 0; i100--) { var t50 = t100 - i100 * 100; for (var i50 = Math.floor(t50 / 50); i50 >= 0; i50--) { var t20 = t50 - i50 * 50; for (var i20 = Math.floor(t20 / 20); i20 >= 0; i20--) { var t10 = t20 - i20 * 20; for (var i10 = Math.floor(t10 / 10); i10 >= 0; i10--) { var t5 = t10 - i10 * 10; for (var i5 = Math.floor(t5 / 5); i5 >= 0; i5--) { var t1 = t5 - i5 * 5; count++; console.log(i100 + ' 100' + i50 + ' 50' + i20 + ' 20' + i10 + ' 10' + i5 + ' 5' + t1 + ' 1'); } } } } } alert('The total number ' + total + ' is ' + count); } money()