我想以编程方式创建shell脚本文件并将它们放在openshift cron目录中。
使用此代码,我可以将它们放在每分钟的文件夹中:
import os
path = os.environ['CUSTOM_CRON_MINUTELY']
f = open(path+'/my_shell_script.sh', 'w+')
f.write("....")
然后结果看起来不错
.openshift
|-- action_hooks
| `-- README.md
|-- cron
| |-- daily
| |-- hourly
| |-- minutely
| | `-- my_shell_script.sh
| |-- monthly
| |-- README.cron
| `-- weekly
| |-- chrono.dat
| |-- chronograph
| |-- jobs.allow
| |-- jobs.deny
| `-- README
|-- markers
| `-- README.md
`-- README.md
但是每次我进行 git 推送时,存储库都会重置并删除my_shell_script.sh。有没有办法避免这种行为将文件保存在cron文件夹中?欢迎任何工作。
在 openshift 数据目录中创建它们,该目录将始终保留。当您推送时,让您的代码将 cron 脚本从那里复制到您想要的 cron 文件夹。
在每个 cron 文件夹("分钟"等)中放入一个脚本,该脚本运行(并行?后台?)来自 ~/app-root/data 文件夹中的所有脚本。然后,您的动态脚本将只存在于一个位置,不会被覆盖。但请注意,与 cron 文件夹相反,在缩放应用程序时不会复制数据文件夹。