마지막 x 일 동안 수행 된 AWS EC2 스냅 샷을 확인하는 데 사용할 수있는 빠른 스크립트를 작성하려고합니다. 내가 명령 줄에서subprocess.call 및 os.system return not found
/usr/local/bin/aws --profile dummydata0 ec2 describe-snapshots --owner-ids 000000000000 --filters Name=start-time,Values=2014-07-08*
를 실행
/bin/sh: 1: /usr/local/bin/aws --profile dummydata0 ec2 describe-snapshots --owner-ids 000000000000 --filters Name=start-time,Values=2014-07-08*: not found
의 출력 오류가 발생하는 동안
잘 작동, 그래서 난 내 기본 리눅스 이해 여기에 아래로 떨어지고있다 같은데요.
call_snapshots = '"/usr/local/bin/aws --profile {0} ec2 describe-snapshots --owner-ids {1} --filters Name=start-time,Values={2}"'.format((key), (environment[key]), (date_string))
그래서 쉘이 받게 될 것이라고 실제 명령은 다음과 같습니다
여기 당신은 문자열 안에 따옴표 한 쌍을 사용하여 명령 줄에서 전체 실행에 내 스크립트 python ./script.py
#!/usr/bin/env python
import subprocess
import datetime
# Create your views here.
def main(numdays):
base = datetime.date.today()
date_list = [base - datetime.timedelta(days=x) for x in range(0, numdays)]
environment = {'dummydata0':'000000000000', 'dummydata1':'111111111111', 'dummydata2':'222222222222'}
data = []
for date in date_list:
date_string = str(date) + "*"
# Python 3 prefers .values to .itervalues
for key in environment:
call_snapshots = '"/usr/local/bin/aws --profile {0} ec2 describe-snapshots --owner-ids {1} --filters Name=start-time,Values={2}"'.format((key), (environment[key]), (date_string))
return subprocess.call(call_snapshots, shell=True)
main(7)
를 사용해 볼 수 있습니까? https://docs.python.org/2/library/subprocess.html#subprocess.Popen – praveen