在Linux開發的過程中,經常需要定時執行腳本。
比如你做一個AI項目,第一步需要先下載數據集,第二部跑訓練代碼。當下載數據集需要一個半小時,你需要等下完以後才能python train.py。
如果你不想守着下完,你可以把這兩個腳本定時執行。本文給的方法是用sleep的方法。
正常情況下,你需要守住兩個時間點:1. wget下載完成;2,tar解壓完成。
wget https://xxxxxxxxx.tar.gz
tar -xzf xxxx.tar.gz
python train.py
如果你想晚上睡覺之前,一鍵搞定這幾步,你可以用sleep和wait來做:
vim do_all.sh
先建立一個shell腳本文件,在裏面這麼寫:
#!/bin/bash
echo 'download dataset'
wget https://xxxxxxxxx.tar.gz # script 1
sleep 7200 &
wait
echo 'unzip dataset'
tar -xzf xxxx.tar.gz # script 2
sleep 300 &
wait
echo 'training'
python train.py # script 3
在sleep的後面可以設置時間,單位是秒。上面給的只是demo,路徑問題你們要注意。寫完這個腳本文件後,運行:
sh do_all.sh
這樣就可以逐步執行了,唯一的確定是預留時間需要自己預判。
用了sleep腳本定時執行腳本,你就可以安心sleep了~