我有一个新的 ec2 Ubuntu 实例正在运行。我已经正确设置了 ec2-api 工具。我想使用命令创建每日备份ec2-create-snapshot
。为了测试它,我有一个名为 的脚本dailyBackup
,位于/etc/cron.daily
目录中。我已chmod +x
设置权限。
当我执行以下操作时,它会被识别:
run-parts --test /etc/cron.daily
当我运行以下脚本时:
. dailybackUp
代码内每日备份
#!/bin/bash
#This creates a backup of the root and xvdf volumes associated with this instance.
echo "Modifying the timezone to us-west-2..."
export EC2_URL=https://ec2.us-west-2.amazonaws.com
echo "Creating daily backup for root volume"
ec2-create-snapshot vol-id --description "SkySpark Linux Daily Backup Root"
echo "Creating daily backup for storage volume"
ec2-create-snapshot vol-id--description " SkySpark Linux Daily Backup Storage "
我省略了卷 ID,但它们在我的文件中是正确的。
它运行得很好。这就是我想要的行为。它备份了卷,我能够在控制台中查看它们。我希望每天都发生这种情况。但是,我必须手动调用我的脚本。它不会像我预期的那样每天自动执行。我错过了什么步骤吗?我的文件配置不正确吗?命令ec2-create-snapshot
无法在作业中执行吗?我需要对 cron 做些什么吗?
问题还被问到这里。
答案1
我得到了答案。我设置了电子邮件服务,立刻就发现了问题所在。这与文件的所有权postfix
无关root
您需要导出密码才能使用ec2 tools
。我将以下内容放在脚本的顶部,现在它可以完美运行。
export AWS_ACCESS_KEY="xxxxxxxxxxx"
export AWS_SECRET_KEY="xxxxxxxxxxxxx"