#!/bin/bash
# ==========================
# CONFIG
# ==========================
SCRIPT_NAME="create_tar.sh"
EXCLUDE_FILE="/root/telkom_api/telkom_api/api_telkom/exclude.txt"
SOURCE_DIR="/root/telkom_api/telkom_api/api_telkom"
BACKUP_DIR="/root/bak/telkom_api"
DATE=$(date +"%Y-%m-%d_%H-%M-%S")
OUTPUT_FILE="$BACKUP_DIR/telkom_api_$DATE.tar.gz"
LOGFILE="$HOME/.backup_task_telkom_api.log"
mkdir -p "$BACKUP_DIR"
log() {
echo "[$(date +"%Y-%m-%d %H:%M:%S")] $1" >> "$LOGFILE"
}
# ==========================
# START
# ==========================
log "=== Backup job started ==="
# Check exclude list
if [ ! -f "$EXCLUDE_FILE" ]; then
log "Exclude file not found: $EXCLUDE_FILE"
log "Script: $SCRIPT_NAME"
log "Time: $(date)"
exit 1
fi
# ==========================
# CREATE TAR.GZ
# ==========================
log "Creating archive: $OUTPUT_FILE"
tar --exclude-from="$EXCLUDE_FILE" -czf "$OUTPUT_FILE" -C "$SOURCE_DIR" .
if [ $? -ne 0 ]; then
log "Failed to create archive file: $OUTPUT_FILE"
log "Script: $SCRIPT_NAME"
log "Time: $(date)"
exit 1
fi
log "Backup successfully created: $OUTPUT_FILE"
log "=== Backup job finished ==="
exit 0