forked from littlebizzy/slickstack
-
Notifications
You must be signed in to change notification settings - Fork 0
/
02-cron-regular.txt
108 lines (88 loc) · 4.94 KB
/
02-cron-regular.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#!/bin/bash
####################################################################################################
#### author: SlickStack ############################################################################
#### link: https://slickstack.io ###################################################################
#### mirror: http://mirrors.slickstack.io/02-cron-regular.txt ######################################
#### path: /var/www/02-cron-regular ################################################################
#### destination: n/a (not a boilerplate) ##########################################################
#### purpose: SlickStack cron job *regular* (02/13) will run every ~7 minutes ######################
#### module version: Ubuntu 20.04 LTS ##############################################################
####################################################################################################
## NEVER MODIFY THE SLICKSTACK CRONTAB AND CRON JOBS OR YOUR STACK WILL LOSE FUCTIONALITY ##
## INSTEAD YOU CAN MODIFY INTERVAL SETTINGS IN SS-CONFIG OR CUSTOMIZE SS-CUSTOM ##
## include SlickStack configuration ##
source /var/www/ss-config
## include SlickStack functions ##
source /var/www/ss-functions
####################################################################################################
#### SlickStack: Ensure SS-Check + SS-Worker (Core Scripts) Exist ##################################
####################################################################################################
## this snippet improves redundancy by having Core Crons ensure that Core Scripts exist ##
## additionally the root Crontab in SlickStack ensures that Core Crons exist too ##
## ensure ss-check intact ##
FILE_SS_CHECK="/var/www/ss-check"
STRING_SS_CHECK="SS_CHECK_EOF"
if [[ ! -f "$FILE_SS_CHECK" ]] || [[ -z $(grep -q "$STRING_SS_CHECK" "$FILE_SS_CHECK") ]]; then
## delete temp files ##
rm /tmp/ss-check*
## download latest versions ##
wget -O /tmp/ss-check http://mirrors.slickstack.io/ss-check.txt
## copy files to their destinations ##
cp /tmp/ss-check /var/www/ss-check
## reset permissions ##
chown root:root /var/www/ss-check
chmod 6770 /var/www/ss-check
## delete temp files ##
rm /tmp/ss-check*
fi
## ensure ss-worker intact ##
FILE_SS_WORKER="/var/www/ss-worker"
STRING_SS_WORKER="SS_EOF"
if [[ ! -f "$FILE_SS_WORKER" ]] || [[ -z $(grep -q "$STRING_SS_WORKER" "$FILE_SS_WORKER") ]]; then
## delete temp files ##
rm /tmp/ss-worker*
## download latest versions ##
wget -O /tmp/ss-worker http://mirrors.slickstack.io/ss-worker.txt
## copy files to their destinations ##
cp /tmp/ss-worker /var/www/ss-worker
## reset permissions ##
chown root:root /var/www/ss-worker
chmod 6770 /var/www/ss-worker
## delete temp files ##
rm /tmp/ss-worker*
fi
####################################################################################################
#### Cron Job (Regular): Run Scheduled Tasks #######################################################
####################################################################################################
## the below tasks will be called if configured to run at this interval in ss-config ##
## certain tasks are automatically called if the relevant interval is missing ##
## run ss-check if set to regular ##
if [[ "$SS_INTERVAL_CHECK" == "regular" ]]; then
source /var/www/ss-check
fi
## run ss-worker if set to regular ##
if [[ "$SS_INTERVAL_WORKER" == "regular" ]]; then
source /var/www/ss-worker
fi
## run ss-dump if set to regular ##
if [[ "$SS_INTERVAL_DUMP" == "regular" ]]; then
source /var/www/ss-dump
fi
####################################################################################################
#### Core Cron Jobs: Ensure Correct Permissions For Core Bash Scripts ##############################
####################################################################################################
## SNIPPET: (core cron jobs)
## ensure correct permissions ##
chown root:root /var/www/ss* ## must be root:root
chmod 0740 /var/www/ss* ## 0700 is enough
## delete lock files ##
rm /tmp/02-cron-regular*.lock*
####################################################################################################
#### SlickStack: External References Used To Improve This Script (Thanks, Interwebz) ###############
####################################################################################################
## Ref: https://stackoverflow.com/questions/22861580/bash-script-check-if-a-file-contains-a-specific-line
## Ref: https://stackoverflow.com/questions/4749330/how-to-test-if-string-exists-in-file-with-bash/14201583
## Ref: https://stackoverflow.com/questions/11287861/how-to-check-if-a-file-contains-a-specific-string-using-bash
## Ref: https://stackoverflow.com/questions/4749330/how-to-test-if-string-exists-in-file-with-bash-
## Ref: https://stackoverflow.com/questions/42377739/while-file-doesnt-contain-string-bash
## SS_EOF