forked from littlebizzy/slickstack
-
Notifications
You must be signed in to change notification settings - Fork 0
/
13-cron-sometimes.txt
139 lines (112 loc) · 5.69 KB
/
13-cron-sometimes.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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
#!/bin/bash
####################################################################################################
#### author: SlickStack ############################################################################
#### link: https://slickstack.io ###################################################################
#### mirror: http://mirrors.slickstack.io/13-cron-sometimes.txt ####################################
#### path: /var/www/13-cron-sometimes ##############################################################
#### destination: n/a (not a boilerplate) ##########################################################
#### purpose: SlickStack cron job *sometimes* (13/13) will run every ~2 months #####################
#### 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 (Sometimes): 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-install-wordpress-core if set to sometimes or if not defined (default) ##
if [[ "$SS_INTERVAL_INSTALL_WORDPRESS_CORE" == "sometimes" || -z "$SS_INTERVAL_INSTALL_WORDPRESS_CORE" ]]; then
source /var/www/ss-install-wordpress-core
fi
## run ss-install-php if set to sometimes ##
if [[ "$SS_INTERVAL_INSTALL_PHP" == "sometimes" ]]; then
source /var/www/ss-install-php
fi
## run ss-install-redis if set to sometimes ##
if [[ "$SS_INTERVAL_INSTALL_REDIS" == "sometimes" ]]; then
source /var/www/ss-install-redis
fi
## run ss-install-mysql if set to sometimes ##
if [[ "$SS_INTERVAL_INSTALL_MYSQL" == "sometimes" ]]; then
source /var/www/ss-install-mysql
fi
## run ss-install-nginx if set to sometimes ##
if [[ "$SS_INTERVAL_INSTALL_NGINX" == "sometimes" ]]; then
source /var/www/ss-install-nginx
fi
## run ss-encrypt if set to sometimes or if not defined (default) ##
if [[ "$SS_INTERVAL_ENCRYPT" == "sometimes" || -z "$SS_INTERVAL_ENCRYPT" ]]; then
source /var/www/ss-encrypt
fi
## run ss-install-adminer if set to sometimes ##
if [[ "$SS_INTERVAL_INSTALL_ADMINER" == "sometimes" ]]; then
source /var/www/ss-install-adminer
fi
## run ss-purge if set to sometimes ##
if [[ "$SS_INTERVAL_PURGE" == "sometimes" ]]; then
source /var/www/ss-purge
fi
## run ss-install-clamav if set to sometimes ##
if [[ "$SS_INTERVAL_INSTALL_CLAMAV" == "sometimes" ]]; then
source /var/www/ss-install-clamav
fi
## run ss-update if set to sometimes or if not defined (default) ##
if [[ "$SS_INTERVAL_UPDATE" == "sometimes" || -z "$SS_INTERVAL_UPDATE" ]]; then
source /var/www/ss-update
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/13-cron-sometimes*.lock*
####################################################################################################
#### SlickStack: External References Used To Improve This Script (Thanks, Interwebz) ###############
####################################################################################################
## Ref:
## SS_EOF