forked from littlebizzy/slickstack
-
Notifications
You must be signed in to change notification settings - Fork 0
/
08-cron-daily.txt
144 lines (116 loc) · 5.62 KB
/
08-cron-daily.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
140
141
142
143
144
#!/bin/bash
####################################################################################################
#### author: SlickStack ############################################################################
#### link: https://slickstack.io ###################################################################
#### mirror: http://mirrors.slickstack.io/08-cron-daily.txt ########################################
#### path: /var/www/08-cron-daily ##################################################################
#### destination: n/a (not a boilerplate) ##########################################################
#### purpose: SlickStack cron job *daily* (08/13) will run every 1 day #############################
#### 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 (Daily): 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-dump if set to daily ##
if [[ "$SS_INTERVAL_DUMP" == "daily" ]]; then
source /var/www/ss-dump
fi
## run ss-clean if set to daily ##
if [[ "$SS_INTERVAL_CLEAN" == "daily" ]]; then
source /var/www/ss-clean
fi
## run ss-install-wordpress-config if set to daily ##
if [[ "$SS_INTERVAL_INSTALL_WORDPRESS_CONFIG" == "daily" ]]; then
source /var/www/ss-install-wordpress-config
fi
## run ss-sync if set to daily ##
if [[ "$SS_INTERVAL_SYNC" == "daily" ]]; then
source /var/www/ss-sync
fi
## run ss-install-wordpress-mu-plugins if set to daily or if not defined (default) ##
if [[ "$SS_INTERVAL_INSTALL_WORDPRESS_MU_PLUGINS" == "daily" || -z "$SS_INTERVAL_INSTALL_WORDPRESS_MU_PLUGINS" ]]; then
source /var/www/ss-install-wordpress-mu-plugins
fi
## run ss-perms if set to daily ##
if [[ "$SS_INTERVAL_PERMS" == "daily" ]]; then
source /var/www/ss-perms
fi
## run ss-dos2unix if set to daily ##
if [[ "$SS_INTERVAL_DOS2UNIX" == "daily" ]]; then
source /var/www/ss-dos2unix
fi
## run ss-scan if set to daily ##
if [[ "$SS_INTERVAL_SCAN" == "daily" ]]; then
source /var/www/ss-scan
fi
## run ss-optimize if set to daily ##
if [[ "$SS_INTERVAL_OPTIMIZE" == "daily" ]]; then
source /var/www/ss-optimize
fi
## run ss-purge if set to daily ##
if [[ "$SS_INTERVAL_PURGE" == "daily" ]]; then
source /var/www/ss-purge
fi
## run ss-install-cron if set to daily ##
if [[ "$SS_INTERVAL_INSTALL_CRON" == "daily" || "$SS_INTERVAL_INSTALL_UBUNTU_CRONTAB" == "daily" ]]; then
source /var/www/ss-install-ubuntu-crontab
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/08-cron-daily*.lock*
####################################################################################################
#### SlickStack: External References Used To Improve This Script (Thanks, Interwebz) ###############
####################################################################################################
## Ref:
## SS_EOF