终止( curl )该进程并启动新进程

终止( curl )该进程并启动新进程

我正在编写 bash 脚本,需要将 60 个文件移动到一个文件夹,然后 curl api 调用,再等待一个小时来移动这 60 个文件并执行相同的操作。所以基本上我写了两个脚本

**script 1 : scan the folder and move one file every min to the destination folder.**
#/bin/bash

#for (( c=1; c<=5; c++ ))
#do  
 #  echo "Welcome $c times"
XMLS="/home/administrator/app/public/2019-02/*"
for f in $XMLS
do
  echo "Processing $f file..."
  # take action on each file. $f store current file name
#  ls $f
cp $f /home/administrator/app/public/xml/
mv $f /home/administrator/Done/
sleep 60
done
#done

脚本2:#/bin/bash

curl http://IP$:3000/upload-video

请帮助我了解我是否可以使用 pgrep 或任何其他命令来确保它每小时触发一次。

谢谢

答案1

定期执行命令的常用方法是使用 cron。要在指定时间后终止命令,可以使用该timeout命令。

将两者放在一个 cron 作业中(crontab -e):

23 * * * *    /usr/bin/timeout 59m /usr/bin/curl ...

每小时运行/usr/bin/curl ...一次(每小时 23 分),如果仍在运行,则在 59 分钟后终止。

相关内容