cronjob 작업 발생 스크립트

cronjob 작업 발생 스크립트

cron을 사용하여 작업을 다운로드, 활성화 및 추가한 다음 컴퓨터에 자동 업데이트 및 업그레이드 작업을 추가하는 스크립트를 작성하려고 합니다.

내가 지금까지 가지고 있는 것은

sudo apt install cron
sudo systemctl enable cron 

여기까지 모든 것이 괜찮았고 추가했습니다(조사 후 명령에 따라).

<(crontab -l) <(echo '50 19 * * * sudo apt update -y') | crontab -
<(crontab -l) <(echo '00 20 * * * sudo apt upgrade -y') | crontab -

파일을 확인해보니crontab -l

스크립트가 필요한 대로 작업을 작성하지만 실행되지 않는 것을 확인했습니다. (작동하는지 확인하기 위해 매분마다 apt install을 실행해 보았습니다.)

50 19 * * 3 root sudo apt update -y하지만 해당 파일에 nano를 사용하여 이 명령을 작성하면 /etc/crontab작동합니다.

루트 침투를 추가하려고 시도했지만 crontab -e 여전히 작동하지 않습니다.

해결책이 있나요?

스크립트로 텍스트 한 줄을 추가하는 방법이 있나요 /etc/crontab? (온라인에서 방법을 찾을 수 없었습니다)

다들 감사 해요

답변1

일반 시스템에서는 cron이것이 작동합니다. 따라서 이를 통해 설치하고 활성화할 필요가 없습니다 cron. 그러나 이는 필요하지 않은 systemctl스크립트에 종속되게 만듭니다 .systemd

이 시도:

#!/bin/bash

USER=root
FILE=input.file.cron
# or get it from the command line arguments

crontab -u $USER -l | grep -v '#--$FILE:$USER' > /tmp/cr-$USER
awk '{printf("%-100s  #--$FILE:$USER\n", $$0) }' $FILE >> /tmp/cr-$USER
crontab -u $USER /tmp/cr-$USER
rm -f /tmp/cr-$USER

답변2

편집기를 로 설정하면 한 줄로 이 작업을 수행할 수 있습니다 ed.

printf "a\n50 19 * * * sudo apt update -y\n.\nw\nQ\n" | EDITOR=ed crontab -e

기본적으로 파일에 내용 한 줄을 추가하고 편집 모드를 종료한 후 쓰고 저장합니다.

관련 정보