crontab の出力に「/bin/sh: 1: 構文エラー: 予期しないリダイレクト」と表示される

crontab の出力に「/bin/sh: 1: 構文エラー: 予期しないリダイレクト」と表示される

crontab には次のジョブ スクリプトがあります:

0 5 * * * /home/user/job_h.bash > /home/user/log_h.log > 2&1 

job_h.bash には以下が含まれます:

#!/usr/bin/env bash
set -e
source /home/user/pyenv/test/bin/activate
python3 /home/user/pyenv/test/d_h.py
deactivate

しかし、それは"/bin/sh: 1: Syntax error: redirection unexpected"

理解できるように助けていただけませんか?正しいシェバンを使用していると確信していますが、最終的にPythonは実行されません。

答え1

stderrのリダイレクトが間違っていることはほぼ間違いありません。(最後の3文字)

  home/user/job_h.bash > /home/user/log_h.log 2>&1 

問題は、記述されているとおり、コマンドが stdout を 2 回リダイレクトしようとしていることです。

関連情報