version finale
This commit is contained in:
50
script.sh
50
script.sh
@@ -2,36 +2,40 @@
|
|||||||
|
|
||||||
set -eu
|
set -eu
|
||||||
|
|
||||||
if [ "$#" -ne 1 ] ; then
|
if [ "$#" -lt 1 ] ; then
|
||||||
echo "Usage: $O dir_to_backup"
|
echo "Usage: $O dir_to_backup"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
test -d "$1" || {
|
basedir=/var/backups
|
||||||
echo "$1 don't exist or not a dir"
|
dest=${basedir}/$(date -I)
|
||||||
exit 2
|
|
||||||
}
|
|
||||||
|
|
||||||
if [ ! -d "$1" ] ; then
|
|
||||||
echo "$1 don't exist or not a dir"
|
|
||||||
exit 2
|
|
||||||
fi
|
|
||||||
|
|
||||||
src=$1
|
|
||||||
dest=/var/backups/$(date -I)
|
|
||||||
|
|
||||||
mkdir -p "${dest}" || exit 3
|
mkdir -p "${dest}" || exit 3
|
||||||
|
|
||||||
|
error=0
|
||||||
|
|
||||||
|
for dir in "$@" ; do
|
||||||
|
test -d "${dir}" || {
|
||||||
|
echo "${dir} don't exist or not a dir"
|
||||||
|
((error+=1))
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ ! -d "${dir}" ] ; then
|
||||||
|
echo "${dir} don't exist or not a dir"
|
||||||
|
((error+=1))
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
src=${dir}
|
||||||
|
|
||||||
# tar cpzf /var/backups/$(date -I)/etc.tgz /etc
|
# tar cpzf /var/backups/$(date -I)/etc.tgz /etc
|
||||||
tar cpzf "${dest}/${src}.tgz" "${src}"
|
tar cpzf "${dest}/${src}.tgz" "${src}"
|
||||||
ret=$?
|
((error+=$?))
|
||||||
|
|
||||||
if [ $ret -eq 0 ] ; then
|
done
|
||||||
find "${dest}" -maxdepth 1 -type f -mtime +7 -exec echo rm {} \;
|
|
||||||
|
if [ $error -eq 0 ] ; then
|
||||||
|
find "${basedir}" -maxdepth 1 -type f -mtime +7 -exec echo rm {} \;
|
||||||
fi
|
fi
|
||||||
|
exit $error
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
exit $ret
|
|
||||||
Reference in New Issue
Block a user