Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services ec2实例启动时的AWS S3同步命令_Amazon Web Services_Shell_Amazon Ec2 - Fatal编程技术网

Amazon web services ec2实例启动时的AWS S3同步命令

Amazon web services ec2实例启动时的AWS S3同步命令,amazon-web-services,shell,amazon-ec2,Amazon Web Services,Shell,Amazon Ec2,我想在EC2启动时运行下面的命令。这是一个ubuntu 18.04的盒子。我尝试了crontab(@reboot),用户数据启动脚本,如文章所述。我可以看到命令在这两种情况下都在运行(我创建了一个输出日志文件),但实际上它并没有完成同步。如果我在终端上手动运行这个命令,效果非常好 aws s3 sync s3://mybucket s3://mybucket2 是的,我试过重新启动,还有aws链接脚本。请参见下面的文件结构和crontab表达式。s3sync.log为空。看起来像cron ru

我想在EC2启动时运行下面的命令。这是一个ubuntu 18.04的盒子。我尝试了crontab(@reboot),用户数据启动脚本,如文章所述。我可以看到命令在这两种情况下都在运行(我创建了一个输出日志文件),但实际上它并没有完成同步。如果我在终端上手动运行这个命令,效果非常好

aws s3 sync s3://mybucket s3://mybucket2
是的,我试过重新启动,还有aws链接脚本。请参见下面的文件结构和crontab表达式。s3sync.log为空。看起来像cron run,但它没有完成命令。还是别的什么

-rw-rw-r-- 1 ubuntu ubuntu        0 Jun 16 14:55 s3sync.log
-rwxrwxr-x 1 ubuntu ubuntu       58 Jun 16 14:44 s3sync.sh
@重新启动sh/home/ubuntu/s3sync.sh>/home/ubuntu/s3sync.log

Content of s3sync.sh

aws s3 sync s3://mybucket s3://mybucket2

Userdata将仅在实例第一次引导时执行

您有3种选择:

  • @reboot
    cron选项
  • 创建用于在重新启动时执行任务的
  • 等待实例状态变为“正在运行”,并调用SSM命令触发此操作,在EC2实例状态变为正在运行时使用
它是否给出了一些错误?你在cloudwatch等中有一些日志吗?我更新了我的问题没有错误默认情况下,用户数据脚本仅在启动EC2实例的第一个引导周期内运行,但你可以更改该行为。看。是的,应该是这样,我已经更新了我的问题,但它没有同步s3中的文件