#! /bin/bash set -eu IFS=$'\n\t' [ $UID -eq 0 ] || { echo "need to be root" ; exit 1 ; } if [ $# -lt 1 ] ; then echo "missing dir list" exit 1 fi bdir=/var/run/backup_$(date -I) mkdir -p $bdir || exit 2 for dir in "$@" ; do test -d $dir || { echo $dir dont exists ; continue ; } dirname=$(basename $dir) tar -cpzf ${bdir}/${dirname}.tgz $dir echo $? > /run/${dirname}.status done