All pastes #339762 Raw Edit

Something

public shellscript v1 · immutable
·published 2007-02-04 08:44 UTC
rendered paste body
#!/bin/bashWORKING_DIR="/storage/era/iaudio"LOG_FILE="$WORKING_DIR/logs/transfer.$(date +%Y-%m-%d)"MUSIC_DIR="/storage/era/music/"IAUDIO_LAST="/media/iAudio/.scrobbler.log"IAUDIO_DIR="/media/iAudio/music/"IAUDIO_MOUNTED="/media/iAudio/.iaudio.mounted"cd "$WORKING_DIR"function r_exit() {        sync        exit $1}let i=1while [ -e "$LOG_FILE.$i" ]; do        let i++doneLOG_FILE="$LOG_FILE.$i"echo -n "Date: " >> "$LOG_FILE"date >> "$LOG_FILE"echo -n "Load:" >> "$LOG_FILE"uptime >> "$LOG_FILE"echo >> "$LOG_FILE"# i know this is lazy....if [ "$(ps aux | grep rsync &>/dev/null|wc -l)" -gt 1 ] ; then        /usr/bin/logger "rsync already running"        r_exit 4fiif [ ! -e "$IAUDIO_MOUNTED" ]; then        /usr/bin/logger "could not find iaudio (no .iaudio.mounted)"        r_exit 5fi# try to run scrobbler/storage/era/bin/rockscrobbler.pl -u remiss -p douglas -f "$IAUDIO_LAST" 2>&1 >> "$LOG_FILE"echo > "$IAUDIO_LAST"#echo "not running incoming rsync"rsync --progress --recursive --exclude-from="$WORKING_DIR/listonupdate" --times --modify-window=5 "$IAUDIO_DIR" "$MUSIC_DIR" 2>&1 >> "$LOG_FILE"ret_i=$?# required because empty dirs get's copiedcd "$MUSIC_DIR"echo "Removing empty dirs" >> "$LOG_FILE"find -mindepth 1 -depth -type d -exec rmdir --ignore-fail-on-non-empty '{}' \; >> "$LOG_FILE"cd "$WORKING_DIR"rsync --progress --recursive --delete-excluded --delete-during --exclude-from="$WORKING_DIR/exclude" --times --modify-window=5 "$MUSIC_DIR" "$IAUDIO_DIR" 2>&1 >> "$LOG_FILE"ret_o=$?echo -en "\nLoad:" >> "$LOG_FILE"uptime >> "$LOG_FILE"echo >> "$LOG_FILE"echo "$ret_i:$ret_o" >> "$LOG_FILE"cd "$MUSIC_DIR"find -type f |sed s/^.\\/// > "$WORKING_DIR/listonupdate"r_exit 0