나는 많은 컴퓨터를 가지고 있고 그 사이에 ssh를 사용합니다.
각 컴퓨터에 수동으로 입력하는 cron 파일이 있습니다. 이 cron 파일을 변경할 때 각 시스템에 수동으로 SSH를 연결하여 그에 따라 cron을 업데이트해야 합니다.
각 컴퓨터의 크론을 이 파일의 기능으로 만드는 방법이 있습니까?
이렇게 하면 컴퓨터 간에 동기화되는 파일이 하나만 있을 수 있으므로 각 컴퓨터의 cron이 업데이트됩니다.
답변1
이 답변은 귀하가 특정 사용자의 crontab 에 관심이 있다고 가정합니다 myuser
.
파일()에서 cron을 다시 읽도록 예약된 cron 작업은 crontab crontab.txt
설정하기가 매우 쉽지만 ssh
다음과 같이 사용할 수 있습니다.
ssh myuser@remote crontab - <crontab.txt
crontab.txt
로컬 저장소는 어디에 있습니까?
이것은 루프에 들어갈 수 있습니다:
#!/bin/bash
remotes=( remote1 remote2 remote3 )
for remote in "${remotes[@]}"
do
ssh "myuser@$remote" crontab - <crontab.txt
done
위에서 처음에 건너뛴 또 다른 접근 방식은 crontab의 작업을 다시 읽는 것입니다.
최소한 다음 작업을 수행하려면 crontab이 필요합니다.
0 * * * * crontab "$HOME/crontab.txt"
crontab.txt
이 작업은 매시간 홈 디렉터리에서 일정을 다시 읽습니다. 파일에는 항상 최소한 이 작업이 포함되어야 합니다. 그런 다음 해당 파일에 다른 작업을 추가할 수 있으며(다른 곳에서 파일을 동기화하여) 해당 작업은 해당 시간 동안 사용자의 활성 crontab에 추가됩니다.