当我从命令行运行以下命令时,它可以正常工作:
/usr/local/bin/redis-cli KEYS "users_*" | xargs redis-cli DEL > /home/Email/logs/deletelog.log 2>&1
但是,如果我通过cron为root用户运行它,它似乎没有正确执行。我希望某处存在权限问题。我该如何检查或解决问题?
我在crontab -e
中运行以下命令45 23 * * * /usr/local/bin/redis-cli KEYS "users_*" | xargs redis-cli DEL > /home/Email/logs/deletelog.log 2>&1
如果我将错误输出到日志文件,我将收到以下内容:
xargs: redis-cli: No such file or directory
但是我可以使用以下命令从命令行运行它:
/usr/local/bin/redis-cli KEYS "users_*" | xargs redis-cli DEL > /home/Email/logs/deletelog.log 2>&1
有什么想法吗?
答案 0 :(得分:0)
我发现了这个错误,我在管道中缺少/ usr / local / bin /。正确的命令应该是:
/usr/local/bin/redis-cli KEYS "users_*" | xargs /usr/local/bin/redis-cli DEL > /home/Email/logs/deletelog.log 2>&1