추가 Crontab(하지 않는 경우에 이미 존재하는)사용하여 스크립트 Bash

0

질문

무엇이 올바른 방법에 대해 강타 스크립트 작업을 추가하려면 crontab 등 그

  • 이 없을 것이 중복된 작업
  • crontab 파일은에 의존
  • (선택적)가 되는 한-라이너

이 아래의 솔루션이지만,그것은 영향을 미치지 않는 출력 실행 crontab -l.

grep 'some_user python /mount/share/script.py' /etc/crontab || echo '*/1 *  *  *  * some_user python /mount/share/script.py' >> /etc/crontab

변환하는 노력에 영향을 미치는 그것 crontab -l,

(crontab -l | grep '/mount/share/script.py') || { crontab -l; '*/1 * * * * some_user python /mount/share/script.py >> /root/foo/logs/foo.cron.log 2>&1'; } | crontab -

하지만 이 명령을 실행하는 오류:

-bash: */1 * * * * some_user python /mount/share/script.py >> /root/foo/logs/foo.cron.log 2>&1: No such file or directory
bash cron linux ubuntu
2021-11-16 05:15:17
1

최고의 응답

2

하지만 이 명령을 실행하는 오류:

-bash: */1 * * * * some_user python /mount/share/script.py >> /root/foo/logs/foo.cron.log 2>&1: No such file or directory

코드:

(crontab -l | grep '/mount/share/script.py') || { crontab -l; '*/1 * * * * some_user python /mount/share/script.py >> /root/foo/logs/foo.cron.log 2>&1'; } | crontab -

를 실행하려고합니다/실행:

'*/1 * * * * some_user python /mount/share/script.py >> /root/foo/logs/foo.cron.log 2>&1'

grep 지 못했습니다.


추가 echo 앞에서 또는 그것 printf,이후 crontab 은 예로부터 입력 stdin처럼,당신이 무엇을 했는지에서 당신의 첫 번째 예제/코드 같은 것:

(crontab -l | grep '/mount/share/script.py') || { crontab -l; echo '*/1 * * * * some_user python /mount/share/script.py >> /root/foo/logs/foo.cron.log 2>&1'; } | crontab -

여기에는 대안을 만발한 스크립트입니다.

#!/usr/bin/env bash

cron_entry=$(crontab -l 2>&1)
is_in_cron='/mount/share/script.py'
new_cron_entry='*/1 * * * * some_user python /mount/share/script.py >> /tmp/foo/logs/foo.cron.log 2>&1'

if [[ $cron_entry != *"$is_in_cron"* ]]; then
  printf '%s\n' "$cron_entry" "$new_cron_entry" | crontab -
fi
2021-11-16 06:16:56

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................