Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- readonly ROOT="/home/eeems"
- readonly PIDFILE="$ROOT/var/backup.pid";
- log(){
- echo "[$(date --iso-8601=seconds)] $1";
- }
- checkpid(){
- if [ -f "$PIDFILE" ]; then
- local PID=$(cat "$PIDFILE");
- ps -p $PID > /dev/null 2>&1;
- if [ $? -eq 0 ]; then
- log "Process already running";
- return 1;
- else
- log "Found old PID file";
- fi;
- fi;
- echo $$ > "$PIDFILE";
- if [ $? -ne 0 ]; then
- log "Could not create PID file";
- return 1;
- fi;
- trap "rm -f $PIDFILE" EXIT
- return 0;
- }
- backup(){
- if [ ! -f $ROOT/etc/backup.d/$1.sh ];then
- log "Backup script for $1 doesn't exist";
- return 1;
- fi;
- log "Starting backup of $1...";
- if ! $ROOT/etc/backup.d/$1.sh > $ROOT/var/log/backup.d/$1.log 2>&1;then
- log "Backup of $1 failed!";
- return 1;
- fi;
- log "Finished backup of $1";
- return 0;
- }
- cleanup(){
- unset -f log;
- unset -f checkpid;
- unset -f backup;
- unset -f cleanup;
- unset -f main;
- }
- main(){
- if ! checkpid;then
- cleanup;
- exit 1;
- fi;
- log "Starting backups";
- backup eeems &
- backup omnimaga &
- log "Waiting for jobs...";
- wait;
- log "Finished waiting";
- backup whiterabbit;
- log "Done";
- cleanup;
- }
- main;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement