몇 가지 답변을 검색해 보았지만 혼란을 해소할 수 있는 방법이 없는 것 같습니다.
5분마다 실행하고 싶은 크론 작업이 있습니다.
*/5 * * * * cd /mnt/internal-storage/coindata && shell/command coins update
넣어볼까/etc/cron.daily폴더를 만들거나 새로 만드세요/etc/cron.분?
또한 이 폴더에 어떤 유형의 파일을 만들었습니까?
답변1
가장 좋은 해결책은 아마도 crontab에 한 줄을 추가하는 것입니다. crontab 파일에 액세스하는 방법은 cron 구현에 따라 다를 수 있으므로 공식 Arch 저장소에서 두 cron 구현에 대한 명령을 제공했습니다. 특정 크론 구현이 필요하지 않은 솔루션을 원한다면 다음과 같이 작성했습니다.또 다른 대답대신 systemd/Timers를 사용하세요.
crontab -e
또는 EDITOR 환경 변수를 사용하는 변형(기본값은 vi)입니다. 다른 편집기를 사용하려면 다음과 같이 EDITOR 변수로 내보내십시오.
export EDITOR=vim
여기서 vim은 선택한 편집기로 대체됩니다.
cronie를 사용하여 crontab을 편집하십시오.
crontab -e
fcron을 사용하여 crontab을 편집합니다.
fcrontab -e
cron 명령을 파일에 추가하고 저장합니다.
*/5 * * * * cd /mnt/internal-storage/coindata && shell/command coins update
이 파일의 행 형식은 다음과 같습니다.
minute hour day_of_month month day_of_week command
cron이 실행되고 있지 않으면 해당 데몬을 시작하십시오.
가까운 사람들을 위해:systemctl start cronie.service
fcron의 경우:systemctl start fcron.service
재부팅 후에도 crontab의 명령이 계속 실행되도록 하려면 cron 데몬이 활성화되어 있는지 확인하십시오.
systemctl enable cronie.service
또는systemctl enable fcron.service
답변2
Arch Linux에 내장된 타이밍 시스템은 다음과 같습니다.시스템/타이머. Arch Wiki에는 여러 가지 목록이 있습니다.cron 대체품으로 사용하는 것의 장단점. 또 다른 이점을 추가하고 싶습니다. cron 구현을 설치할 필요가 없습니다.
전반적으로 저는 단순화를 위해 cronjob을 사용하는 것을 권장하지만 이는 (이론적으로) 모든 Arch 설치에 관계없이 작동하는 솔루션입니다.
타이머 구현(TIMERNAME을 타이머 이름으로 대체):
타이머 파일 위치:/etc/systemd/system/TIMERNAME.timer
[Unit]
Description=Run TIMERNAME every five minutes
[Timer]
OnCalendar=*:0/15
Persistent=true
[Install]
WantedBy=timers.target
타이머 서비스 파일 위치:/etc/systemd/system/TIMERNAME.service
[Unit]
Description=Run some commands - for use with TIMERNAME.service
[Service]
ExecStart=cd /mnt/internal-storage/coindata && shell/command coins update
# Alternatively could be used to run a script with the above commands in it.
# If your script is located at /usr/local/bin, change the above command to:
# ExecStart:/usr/local/bin/SCRIPTNAME
[Install]
WantedBy=multi-user.target
먼저 다음을 실행합니다.
systemctl start TIMERNAME.timer
활성화(향후 재부팅 후에도 계속 작동하도록):
systemctl enable TIMERNAME.timer
중지 및 비활성화는 동일한 형식을 따릅니다.