因为服务器上有个数据清洗的程序,需要在每次添加新数据后定时执行。所以利用 SUSE 系统的 crontab 命令来实现程序定时启动。这里做一个简单的记录。

创建任务执行脚本

在程序启动的时候需要判断当前程序是否正在执行,只有当程序未运行时才启动。

#!/bin/bash

# 获取 DataCleaning 进程数量
count='ps -ef | grep DataCleaning | grep -v "grep" | wc -l'

if($count -gt 0);then
    echo "DataCleaning 正在执行..."
    # 退出脚本
    exit
fi

# 进入程序目录
cd /home/hubert/datacleaning

# 运行程序
dotnet datacleaning.dll

脚本很简单,就是判断一下进程数量,如果进程数量为 0 就启动程序。

创建定时任务

root@linux:/ # crontab -e
* */10 * * * root /opt/datacleaning_schedule.sh