【发布时间】:2017-04-21 18:58:58
【问题描述】:
在继续之前,请告诉我,我尝试了 stackoverflow 和其他论坛中提到的所有方法,但在我的 CentOS 6.8 服务器上没有任何效果。
这是我在 crontab 中写的内容
00 5 * * * /usr/bin/aws /var/www/html/james/crons/s3_downloader.sh
而s3_downloader.sh文件的完整内容是:
#!/bin/bash
aws s3 sync "s3://my_bucket/my_folder/" "/var/www/html/james/downloads/my_folder/";
但是当 cron 选项卡运行它时,没有任何工作。但是,当我通过服务器上的命令行屏幕运行它时,一切正常。
我的服务器已将 AWS 安装在路径(使用 ROOT 用户):/usr/bin/aws(使用 which aws)
这是我尝试过的方法(但对我没有任何效果):
-->更改了文件内容中aws的路径:
#!/usr/bin/aws
aws s3 sync "s3://my_bucket/my_folder/" "/var/www/html/james/downloads/my_folder/";
--> 是否在 ROOT 控制台上导出设置
export AWS_CONFIG_FILE="/root/.aws/config"
export AWS_ACCESS_KEY_ID=XXXX
export AWS_SECRET_ACCESS_KEY=YYYY
编辑: 当我将 crontab 的响应记录到日志中时
usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters]
To see help text, you can run:
aws help
aws <command> help
aws <command> <subcommand> help
aws: error: argument command: Invalid choice, valid choices are:
这里是完整的回复:http://pastebin.com/XAKQUVzT
编辑 2
经过更多调试,我可以看到出现的错误(在 cron 日志中)是:
env:/var/www/html/james/crons/s3_downloader.sh:权限被拒绝
【问题讨论】:
-
/var/www/html/james/crons/s3_downloader.sh和所有包含文件夹的权限是什么 (ls -ld)?
标签: amazon-web-services amazon-s3 crontab aws-cli