我有这个设置我的Ansible playbook运行,它运行一个ML脚本,大约需要3-4个小时执行,以及一些AWS任务在ML脚本之后运行。
所以,我正在运行一个后台updatecredentials.py
python文件,它会更新/home/ubuntu/.aws/config
和我的AWS从中获取凭据的文件。
此文件每 45 分钟运行一次。
更新如下:
对于第一个运行实例,配置文件的stat
如下:
File: ‘/home/ubuntu/.aws/config’
Size: 480 Blocks: 8 IO Block: 4096 regular file
Device: ca01h/51713d Inode: 275461 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ ubuntu) Gid: ( 1000/ ubuntu)
Access: 2017-08-09 09:53:20.600856000 +0000
Modify: 2017-08-09 09:53:18.804856000 +0000
Change: 2017-08-09 09:53:18.804856000 +0000
对于第二个例子,它是:
File: ‘/home/ubuntu/.aws/config’
Size: 480 Blocks: 8 IO Block: 4096 regular file
Device: ca01h/51713d Inode: 275461 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ ubuntu) Gid: ( 1000/ ubuntu)
Access: 2017-08-09 12:10:29.072856000 +0000
Modify: 2017-08-09 10:38:18.892856000 +0000
Change: 2017-08-09 10:38:18.892856000 +0000
所以,nohup
正在发挥作用。但是,我在nohup代码的.err
文件中得到错误:
botocore.exceptions.ClientError: An error occurred (ExpiredToken) when calling the AssumeRole operation: The security token included in the request is expired
当我对stat
文件进行creds.err
时,会显示:
File: ‘creds.err’
Size: 594 Blocks: 8 IO Block: 4096 regular file
Device: ca01h/51713d Inode: 275463 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ ubuntu) Gid: ( 1000/ ubuntu)
Access: 2017-08-09 12:04:49.952856000 +0000
Modify: 2017-08-09 11:23:18.940856000 +0000
Change: 2017-08-09 11:23:18.940856000 +0000
Birth: -
这是否意味着我的STS [/临时]凭据在45分钟内到期了?