Bash
특정 시간대의 일자리
수색…
특정 시간에 한 번 작업 실행
주의 : at 은 최신 배포판의 대부분에 기본적으로 설치되지 않습니다.
지금보다 훨씬 다른 시간에 한 번 작업을 실행하려면이 예제에서는 오후 5시에
echo "somecommand &" | at 5pm
결과물을보고 싶다면 평소와 같이 할 수 있습니다.
echo "somecommand > out.txt 2>err.txt &" | at 5pm
at
는 많은 시간 형식 at
이해하므로
echo "somecommand &" | at now + 2 minutes
echo "somecommand &" | at 17:00
echo "somecommand &" | at 17:00 Jul 7
echo "somecommand &" | at 4pm 12.03.17
연도 나 날짜가 주어지지 않으면 다음에 지정한 시간이 있다고 가정합니다. 그래서 당신이 이미 오늘 통과 한 시간을 준다면, 내일을 가정 할 것이고, 당신이 올해를 이미 지나친 한 달을 주면 내년을 가정 할 것입니다.
이것은 또한 당신이 기대하는 것처럼 nohup과 함께 작동합니다.
echo "nohup somecommand > out.txt 2>err.txt &" | at 5pm
시간 초과 작업을 제어하는 몇 가지 명령이 더 있습니다.
- atq 모든 시간이 지정된 작업을 나열합니다 ( atq ueue).
- atrm 은 시간 초과 근무 ( atr e m ove)를 제거합니다.
- batch 는 기본적으로 at와 같지만 시스템 부하가 0.8보다 작은 경우에만 작업을 실행합니다.
모든 명령은 로그인 한 사용자의 작업에 적용됩니다. 루트로 로그인하면 시스템 전체 작업이 처리됩니다.
systemd.timer를 사용하여 지정된 시간에 반복적으로 작업 수행
systemd 는 cron 의 최신 구현을 제공합니다. 스크립트를 정기적으로 실행하려면 서비스와 타이머 파일이 필요합니다. 서비스 및 타이머 파일은 / etc / systemd / {system, user}에 있어야합니다. 서비스 파일 :
[Unit]
Description=my script or programm does the very best and this is the description
[Service]
# type is important!
Type=simple
# program|script to call. Always use absolute pathes
# and redirect STDIN and STDERR as there is no terminal while being executed
ExecStart=/absolute/path/to/someCommand >>/path/to/output 2>/path/to/STDERRoutput
#NO install section!!!! Is handled by the timer facitlities itself.
#[Install]
#WantedBy=multi-user.target
다음 타이머 파일 :
[Unit]
Description=my very first systemd timer
[Timer]
# Syntax for date/time specifications is Y-m-d H:M:S
# a * means "each", and a comma separated list of items can be given too
# *-*-* *,15,30,45:00 says every year, every month, every day, each hour,
# at minute 15,30,45 and zero seconds
OnCalendar=*-*-* *:01:00
# this one runs each hour at one minute zero second e.g. 13:01:00
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow