我的本地计算机上有一个脚本,可以帮助我连接到 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
文件运行正常。
但是,它不是从我的脚本文件运行。
有什么问题?
答案 0 :(得分:4)
你能够很好地进入机器吗?如果是这样,那么您只需要确保脚本的所有权和权限都可以。然后你可以:
ssh -i key.pem ubuntu@ec2-instance "bash /path/to/your/script/data.sh"
但是,如果脚本中的内容需要root访问权限,那么您将需要权限。
编辑:正如@ error2007s所提到的,我忘了在命令中指定身份文件。我已经编辑了命令,所以把它放在awsconnect.sh
中,它应该可以正常工作。