如何从本地机器上的脚本在aws-ec2上运行脚本?

时间:2016-06-10 15:11:45

标签: linux bash shell amazon-web-services amazon-ec2

我的本​​地计算机上有一个脚本,可以帮助我连接到 ec2 。但是,它不会运行指定的脚本文件。

awsconnect.sh:

ssh -i ".pemfile" ubuntu@"ec2-instance"


  ./data.sh

data.sh是我在 aws-ec2 上的文件。

data.sh:

 mkdir -p dumps/$(date +"%Y%m%d");
    mysqldump -h localhost -port=3306 -u root -proot abc | gzip > dumps/$(date +"%Y%m%d")/abc.sql.gz;
    logout

如果我从 aws-ec2 命令行运行它,我的data.sh文件运行正常。 但是,它不是从我的脚本文件运行。 有什么问题?

1 个答案:

答案 0 :(得分:4)

你能够很好地进入机器吗?如果是这样,那么您只需要确保脚本的所有权和权限都可以。然后你可以:

ssh -i key.pem ubuntu@ec2-instance "bash /path/to/your/script/data.sh"

但是,如果脚本中的内容需要root访问权限,那么您将需要权限。

编辑:正如@ error2007s所提到的,我忘了在命令中指定身份文件。我已经编辑了命令,所以把它放在awsconnect.sh中,它应该可以正常工作。