Shell脚本:执行&重复一个需要额外输入的python程序

时间:2016-06-02 09:26:30

标签: python bash shell

我必须在某个时间运行此python命令:python manage.py rebuild_index并重新运行。因此,我正在尝试使用shell脚本来运行它。但是,运行此python命令时,我必须选择y继续。

enter image description here

我的 run_rebuild.sh

#!/bin/sh
python manage.py rebuild_index

此外,我怎样才能让run_rebuild.sh每隔60秒再次重新运行?

3 个答案:

答案 0 :(得分:1)

尝试使用pipe(将echo的输出重定向到python' s stdin):

echo "y" | python manage.py rebuild_index

答案 1 :(得分:1)

您可以使用yes

yes | python /manage.py rebuild_index

每分钟运行脚本的一种方法:

while yes | python /manage.py rebuild_index; do
  sleep 60
done

以上将每隔60秒运行一次脚本,直至失败。

答案 2 :(得分:1)

您可以使用echo "y"(如@LogicStuff所述)和cron个工作来完成此任务。

创建一个脚本文件(假设为your_script.sh)并将命令添加到其中

echo "y" | python manage.py rebuild_index

要使用cron,您可以使用以下步骤: -

crontab -e

这将在默认编辑器中打开cronjob文件,将以下行添加到文件

* * * * * sh /path/to/your_script.sh