Skip to content

Commit 91e561d

Browse files
committed
check the cronjob existed before create it
1 parent e813fd4 commit 91e561d

1 file changed

Lines changed: 14 additions & 5 deletions

File tree

scripts/install.ubuntu.18.04.sh

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -132,10 +132,19 @@ install_gost() {
132132
-L "http2://${USER}:${PASS}@${BIND_IP}:${PORT}?cert=${CERT}&key=${KEY}&probe_resist=code:400"
133133
}
134134

135-
create_cront_job(){
136-
# TODO: 写入前先检查,避免重复任务。
137-
echo "0 0 1 * * /usr/bin/certbot renew --force-renewal" >> /var/spool/cron/crontabs/root
138-
echo "5 0 1 * * /usr/bin/docker restart gost" >> /var/spool/cron/crontabs/root
135+
crontab_exists() {
136+
crontab -l 2>/dev/null | grep "$1" >/dev/null 2>/dev/null
137+
}
138+
139+
create_cron_job(){
140+
# 写入前先检查,避免重复任务。
141+
if ! crontab_exists "cerbot renew --force-renewal"; then
142+
echo "0 0 1 * * /usr/bin/certbot renew --force-renewal" >> /var/spool/cron/crontabs/root
143+
fi
144+
145+
if ! crontab_exists "docker restart gost"; then
146+
echo "5 0 1 * * /usr/bin/docker restart gost" >> /var/spool/cron/crontabs/root
147+
fi
139148
}
140149

141150
install_shadowsocks(){
@@ -238,7 +247,7 @@ init(){
238247
install_brook
239248
break
240249
elif (( REPLY == 8 )) ; then
241-
create_cront_job
250+
create_cron_job
242251
break
243252
elif (( REPLY == 9 )) ; then
244253
exit

0 commit comments

Comments
 (0)