131 lines
3.0 KiB
Bash
Executable File
131 lines
3.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
###############################################################################
|
|
# Nextcloud OCC Maintenance Script
|
|
#
|
|
# Performs:
|
|
# - files:cleanup
|
|
# - files:scan for selected users
|
|
# - occ check
|
|
# - mimetype updates
|
|
# - htaccess update
|
|
#
|
|
# Logs:
|
|
# /home/lucas/.LOG/
|
|
#
|
|
# Author: Lucas Faber
|
|
###############################################################################
|
|
|
|
set -Eeuo pipefail
|
|
|
|
LOGDIR="/home/lucas/.LOG"
|
|
DATE=$(date +"%Y%m%d_%H%M")
|
|
SUMMARY_LOG="$LOGDIR/log_occ_scan.log"
|
|
|
|
MIMI_LOG="$LOGDIR/log_occ_mimi_${DATE}.log"
|
|
LUCAS_LOG="$LOGDIR/log_occ_lucas_${DATE}.log"
|
|
MULTI_LOG="$LOGDIR/log_occ_multi_${DATE}.log"
|
|
|
|
NC_PATH="/nextcloud/nextcloud"
|
|
OCC="docker exec -u www-data nextcloud php occ"
|
|
|
|
STARTTIME=$(date +"%F %T")
|
|
|
|
mkdir -p "$LOGDIR"
|
|
|
|
: > "$MIMI_LOG"
|
|
: > "$LUCAS_LOG"
|
|
: > "$MULTI_LOG"
|
|
|
|
echo "===================================================="
|
|
echo "Nextcloud maintenance started: $STARTTIME"
|
|
echo "===================================================="
|
|
|
|
###############################################################################
|
|
# Cleanup
|
|
###############################################################################
|
|
|
|
echo
|
|
echo "Running files:cleanup..."
|
|
RET1=$($OCC files:cleanup)
|
|
|
|
###############################################################################
|
|
# User scans
|
|
###############################################################################
|
|
|
|
echo
|
|
echo "Starting file scans..."
|
|
|
|
{
|
|
$OCC files:scan -vvv Mimi >> "$MIMI_LOG" 2>&1
|
|
echo "$(date): Mimi finished" >> "$MIMI_LOG"
|
|
} &
|
|
PID1=$!
|
|
|
|
{
|
|
$OCC files:scan -vvv lucas >> "$LUCAS_LOG" 2>&1
|
|
echo "$(date): Lucas finished" >> "$LUCAS_LOG"
|
|
} &
|
|
PID2=$!
|
|
|
|
wait "$PID1"
|
|
wait "$PID2"
|
|
echo "All scans completed."
|
|
|
|
###############################################################################
|
|
# Maintenance
|
|
###############################################################################
|
|
|
|
echo
|
|
echo "Running occ check..."
|
|
RET4=$($OCC check)
|
|
|
|
echo
|
|
echo "Updating mimetype database..."
|
|
RET5=$($OCC maintenance:mimetype:update-db)
|
|
|
|
echo
|
|
echo "Updating .htaccess..."
|
|
RET6=$($OCC maintenance:update:htaccess)
|
|
|
|
echo
|
|
echo "Updating mimetype JS..."
|
|
RET7=$($OCC maintenance:mimetype:update-js)
|
|
|
|
ENDTIME=$(date +"%F %T")
|
|
|
|
###############################################################################
|
|
# Summary log
|
|
###############################################################################
|
|
|
|
{
|
|
echo
|
|
echo "===================================================="
|
|
echo "NEXTCLOUD MAINTENANCE REPORT"
|
|
echo "===================================================="
|
|
echo
|
|
echo "Start: $STARTTIME"
|
|
echo "End: $ENDTIME"
|
|
echo
|
|
echo "===== FILES:CLEANUP ====="
|
|
echo "$RET1"
|
|
echo
|
|
echo "===== OCC CHECK ====="
|
|
echo "$RET4"
|
|
echo
|
|
echo "===== MIMETYPE UPDATE DB ====="
|
|
echo "$RET5"
|
|
echo
|
|
echo "===== UPDATE HTACCESS ====="
|
|
echo "$RET6"
|
|
echo
|
|
echo "===== MIMETYPE UPDATE JS ====="
|
|
echo "$RET7"
|
|
echo
|
|
} >> "$SUMMARY_LOG"
|
|
|
|
echo
|
|
echo "Maintenance completed successfully."
|
|
echo "Summary written to:"
|
|
echo " $SUMMARY_LOG"
|