2017-09-24 110 views
1

我想在同一個文件夾中使用bash腳本調用一個名爲main.py的Python文件。調用Python與睡眠的Bash腳本

Bash腳本必須每天在下午2點和6點之間隨機調用Python文件一次。

我會使用隨機睡眠。

注意:它應該隨機執行。例如從一分鐘的0秒開始不是一個隨機時間!

你會如何編寫這個bash腳本來實現這個功能?

+1

使用'cron'調度python腳本直接 – Vinny

+0

@Vinny的cron不會做隨機的時間非常好 –

+0

添加您的Python腳本隨機睡眠時,它加載然後 – Vinny

回答

0

您可以使用cron運行bash腳本@ 1400,並且bash腳本的隨機分鐘數將小於240(4小時* 60分鐘)。當睡眠用完時,調用python。

我假設你知道$ RANDOM?

#!/bin/bash 

sleep $(($RANDOM % 240))m 
./mypython.py 

爲了說明在編輯新的約束:

#!/bin/bash 

sleep $(($RANDOM % 240))m 
sleep $(($RANDOM % 60)) 
./mypython.py 
+0

請張貼bash腳本更好地理解。 – Monzio

+0

注意:它應該隨機執行。例如,從一分鐘的0秒開始不是一個隨機時間! – Monzio

1

該代碼可以提供幫助。它在你想要的時間間隔內隨機運行一段python腳本。這個bash腳本也應該添加到crontab文件中,以便在02.00PM進行安排。

#!/bin/bash 
maxtime=$((4*60*60)) 
delay=$(($RANDOM%maxtime)) 
(sleep $((delay)); /usr/bin/python /path/to/yourscript.py) & #background the sleep process, then run your script 
+0

注意:它應該隨機執行。例如,從一分鐘的0秒開始不是一個隨機時間! – Monzio

+0

答案編輯在下午2點到6點之間隨機秒數運行。 – Ardit

+0

上面的代碼有幫助嗎? – Ardit