diff --git a/web/clitools/maintain/maintain.bash b/web/clitools/maintain/maintain.bash index 8690e06..b909aaf 100755 --- a/web/clitools/maintain/maintain.bash +++ b/web/clitools/maintain/maintain.bash @@ -45,31 +45,37 @@ ok=1 log "[[[ Inizio esecuzione ${sname} ]]]" #tar cJf run-`date +%Y-%m-%d--%H.%M.%S`.tar.xz run/ buff=`ls -1 run/` -[ "${buff}" != "" ] && logcmd "find run/ -type f -exec rm {} ;" "${logfp}" +[[ "${buff}" != "" ]] && logcmd "find run/ -type f -exec rm {} ;" "${logfp}" logcmd "php fedipact.php" "${logfp}" logcmd "php mustool.php updstats" "${logfp}" -if [ `date "+%d"` != "01" -a ! -f "${forceresurrfp}" ]; then # usa il gracetime di default - log "Eseguo crawler.php con il gracetime di default" +day=`date "+%d"` +month=`date "+%m"` +# il primo di ogni anno, oppure se esiste il file “.forceresurr”, usa un gracetime di 1000 anni +if [[ "${day}" == "01" && "${month}" == "01" ]] || [[ -f "${forceresurrfp}" ]]; then + log "Eseguo crawler.php con un gracetime di 1000 anni" + logcmd "php crawler.php -g 1000y" "${crlogfp}" +elif [[ "${day}" == "01" ]]; then # il primo di ogni mese che non è anche primo dell'anno usa un gracetime di 1 anno + log "Eseguo crawler.php con un gracetime di 1 anno" + logcmd "php crawler.php -g 1y" "${crlogfp}" +else # ogni altro giorno usa il gracetime di default (30 giorni) + log "Eseguo crawler.php con il gracetime di default (30 giorni)" logcmd "php crawler.php" "${crlogfp}" -else # il primo del mese usa un gracetime di 2 mesi - log "Eseguo crawler.php con un gracetime di 2 mesi" - logcmd "php crawler.php -g 2M" "${crlogfp}" fi -[ -f "${forceresurrfp}" ] && rm "${forceresurrfp}" +[[ -f "${forceresurrfp}" ]] && rm "${forceresurrfp}" logcmd "php mustool.php shuffle clean optimize" "${logfp}" ofp="maintain/backups/${dbname}_backup-`date +%Y-%m-%d--%H.%M.%S`.sql" logcmd "mysqldump --defaults-extra-file=${mycfgfp} --single-transaction -r ${ofp} ${dbname}" "${logfp}" -if [ "${ec}" != "0" ]; then - [ -f "${ofp}" ] && rm "${ofp}" +if [[ "${ec}" != "0" ]]; then + [[ -f "${ofp}" ]] && rm "${ofp}" else logcmd "xz -9 ${ofp}" "${logfp}" fi buff=`ls -1rt maintain/backups/${dbname}_backup-*.sql.xz | head -n -10` for fn in $buff; do rm "$fn"; done -[ $ok -eq 1 ] && subj="maintain.bash: tutto ok :-)" || subj="maintain.bash: ci sono errori :-(" +[[ $ok -eq 1 ]] && subj="maintain.bash: tutto ok :-)" || subj="maintain.bash: ci sono errori :-(" body="[[[ ${logfp} ]]]\n\n" body+=`cat "${logfp}"` body+="\n\n[[[ Ultime 20 righe di ${crlogfp} ]]]\n\n" body+=`tail -n 20 "${crlogfp}"` echo -e "${body}" | s-nail -s "${subj}" -S v15-compat -S from="${mailfrom}" -S smtp-use-starttls -S mta="${mailmta}" "${mailto}" -[ $ok -eq 1 ] && exit 0 || exit 1 +[[ $ok -eq 1 ]] && exit 0 || exit 1