Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 从早上8:00到晚上8:00运行脚本,如果脚本没有结束,请在晚上8:00将其杀死_Postgresql_Cron - Fatal编程技术网

Postgresql 从早上8:00到晚上8:00运行脚本,如果脚本没有结束,请在晚上8:00将其杀死

Postgresql 从早上8:00到晚上8:00运行脚本,如果脚本没有结束,请在晚上8:00将其杀死,postgresql,cron,Postgresql,Cron,我尝试模拟连接SQL server并从中选择数据的企业客户机。现在,我设法在Windows 7上设置postgres,并编写了一个脚本,从远程计算机的服务器上选择一些数据: #!/bin/bash data="$(psql -h 10.0.0.2 -d test -U postgres -c $'SELECT * FROM tablename;')" #echo $data 另外,我使用time命令测量它的时间 我现在需要的是能够在早上8:00运行脚本,并在晚上8:00停止它(它应该工作一整

我尝试模拟连接SQL server并从中选择数据的企业客户机。现在,我设法在Windows 7上设置postgres,并编写了一个脚本,从远程计算机的服务器上选择一些数据:

#!/bin/bash

data="$(psql -h 10.0.0.2 -d test -U postgres -c $'SELECT * FROM tablename;')"
#echo $data
另外,我使用
time
命令测量它的时间

我现在需要的是能够在早上8:00运行脚本,并在晚上8:00停止它(它应该工作一整天)。晚上,服务器什么也不做(脚本没有运行),第二天,我需要在给定的天数内反复运行它


我不久前玩过cron,这似乎是一个很好的解决方案,但最大的问题是:比方说,我在上午8:00运行脚本,但它将在上午9:00完成-我如何知道再次运行它以模拟全天的流量而不受干扰需要多长时间?请注意,我不知道选择数据需要多长时间——数据的内容对我来说并不重要,我只需要选择它们,仅此而已

您可以将cronjob封装在这样的脚本中,并将其称为psql_load_runner:

#!/bin/bash

while [ 1 ]
do
  data="$(psql -h 10.0.0.2 -d test -U postgres -c $'SELECT * FROM tablename;')"
  #echo $data
done
然后将其设置为每天08:00运行-它将整天保持循环,这似乎符合您的要求


然后有另一个cron作业,你每天20:00运行,这正好终止了这个作业,也许可以使用像
killall-9psql\u load\u runner

这样的命令,我不知道这意味着什么:我怎么知道再次运行它需要多长时间来模拟全天的流量而不中断。反复运行同一个SELECT语句不太可能很好地表示一天的流量(除非所有客户实际上都在这样做)。请提供更多上下文。