gpt4 book ai didi

linux - aws cli、crontab 和用户权限之间的交互

转载 作者:太空宇宙 更新时间:2023-11-04 04:54:15 26 4
gpt4 key购买 nike

我有一个 ec2,应该每 5 分钟同步到 s3,所以我在 sudo 下安装了 awscli,并使用 aws configure 输入了我的凭据。然后,我在/home/ubuntu/创建了一个 shell 脚本,其中包含以下条目:

 aws s3 cp s3://datasets/B3 /home/ubuntu/data/B3 --recursive

并在 sudo crontab 中:

*/5 * * * * /home/ubuntu/s3syncer.sh

但它不同步。我以前遇到过这个问题,所以我尝试过:

/home/ubuntu/.aws aws s3 cp s3://datasets/B3 /home/ubuntu/data/B3 --recursive
/usr/bin/aws aws s3 cp s3://datasets/B3 /home/ubuntu/data/B3 --recursive

看来/usr/bin/aws 现在正在工作......另外,当我以 ubuntu 用户身份尝试“aws configure”时,它显示权限不正确。

  1. 如何确定编辑 aws configure 的权限?使用 sudo 安装它是否会使我无法像 ubuntu 那样编辑配置?

  2. /usr/bin/aws 如何更改 aws s3 同步的执行?

  3. 从 sudo v ubuntu crontab 执行的命令有何不同?

谢谢,其中一些是常见的 Linux 问题...

最佳答案

当您执行sudo aws configure时,它不会更改您的$HOME目录。因此,它将您的信用信息存储在“错误”的位置(/home/ubuntu 而不是 /root),并且您很难从 ubuntu 用户处获取它们。

您需要运行sudo -H aws configure,以便在配置时具有/root主目录。然后您的 /usr/bin/aws 示例就可以工作了。

您可能还想删除 ubuntu 主目录中 root 拥有的凭据。

哦,回答你的问题:

1) AWS 没有什么特别的,这都是因为您使用了 sudo 而没有使用 -H,并且它将凭证写入了错误的位置。

2)我不确定这个问题在问什么?

3) root 通常具有与普通用户不同的环境变量。例如,/usr/local/bin 并不总是位于某些发行版的根路径中。最好养成指定完整路径的习惯。

关于linux - aws cli、crontab 和用户权限之间的交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51681611/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com