懒狗必备小技能--Ubuntu定时执行某脚本

Crontab基本格式

*  *  *  *  *  command
分  时  日  月  周  命令

命令示例

# 每分钟执行一次            
*  *  *  *  * command

# 每隔一小时执行一次        
00  *  *  *  * command

# 每小时的15和30分各执行一次 (,表示并列)
15,45 * * * * command 

# 在每天8-11时中的15,45分各执行一次(-表示范围)
15,45 8-11 * * * command 

# 每个星期一的上午8点到11点的第3和第15分钟执行
3,15 8-11 * * 1 command

# 每隔两天的上午8点到11点的第3和第15分钟执行
3,15 8-11 */2 * * command

# 每天早上六点半执行某脚本

任务示例

假设我们的训练程序在『早上六点二十左右』跑完,作为知名赖床达人的自己不想起床怎么办?这时为了最大化利用显卡,我们便可以在『晚上』走的时候 设置 服务器在『早上六点半』自动执行测试脚本。

  • 创建任务脚本
touch test.sh
nano test.sh

# 将所需命令写入到任务脚本中
#!/bin/zsh
cd ~/GWL/4T_Disk/Paper-2/PCL-ProMax/
nvidia-smi
source /home/amax/GWL/py35/bin/activate
python tools/test_net.py --cfg configs/baselines/vgg16_voc2007.yaml  --load_ckpt Outputs/vgg16_voc2007/Sep19-08-40-59_amax-desktop_step/ckpt/model_step24999.pth --dataset voc2007test | tee test_0921_pcl_edge_ccnet.log
  • 创建定时程序
touch test.cron
nano test.cron

30 6 * * 2 sh /home/amax/GWL/test.sh >> /home/amax/GWL/test.log 2>&1 &
  • 添加定时任务
crontab test.cron
  • 查看定时任务是否成功
crontab -l
  • 确认cron是否已启动
ps aux | grep cron
  • 躺好,继续睡大觉

参考

【1】Ubuntu 定时运行命令脚本crontab


  目录