Я пытаюсь запустить команду CLI AWS в своем модуле. Поскольку для завершения модуля может потребоваться некоторое время, я пытаюсь запустить его в фоновом режиме. Вот моя команда
kubectl -it exec <podname> -- bash -c "aws s3api list-objects --bucket bucketname-1 --query 'Contents[?StorageClass==\"ONEZONE_IA\"].[Key,StorageClass]' --output text > /storage/ONEZONE_keys1.txt &"
когда я запускаю эту команду, она становится несуществующим процессом
когда я запускаю команду без &
, в конце она работает нормально
Но процесс завершается после закрытия терминала
В конечном счете, я просто хочу запускать эту команду как задание cron каждый день.
Не уверен, что не так, или весь этот процесс можно сделать лучше
Любая помощь очень ценится, спасибо
@ChuongNguyen, я не могу повторно развернуть модуль в ближайшее время, а также мне нужна гибкость, чтобы запускать эту команду в любое время.
Можете ли вы хотя бы запустить это в выделенном задании, вместо того, чтобы пытаться запустить его внутри какого-то другого процесса?
Я думаю, что nohup может помочь в этом сценарии. Попробуйте выполнить эту команду с "nohup".
Бывший-
nohup "ваша команда" > "перенаправить имя файла" &
ага. Использование nohup сработало для меня. Спасибо!
Почему вы не используете cronjob в k8s?