在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了~

 

Logo

更多推荐