tar файлы в каталоге и поместите архив в другой каталог - PullRequest
0 голосов
/ 20 марта 2012

Я пытаюсь скопировать все файлы в каталоге (echo 1) в архив tar под названием [имя каталога] .tar в каталоге архива (второе эхо). Это правильно?

#!/bin/bash

#Author
#Josh
++++++++++++++++++++++++++
echo "Please enter the name of a folder to archive" 
++++++++++++++++++++++++++
echo "Please enter a foldername to store archives in"
++++++++++++++++++++++++++
touch fname
+++++++++++++++++++++++++
tar fname2.tar

1 Ответ

2 голосов
/ 20 марта 2012
dir_to_be_tarred=
while [ ! -d "$dir_to_be_tarred" ]; do      
    echo -n "Enter path to directory to be archived: "   # -n makes "echo" not output an ending NEWLINE
    read dir_to_be_tarred
    if [ ! -d "$dir_to_be_tarred" ]; then   # make sure the directory exists
        echo "Directory \"$dir_to_be_tarred\" does not exist"       # use quotes around the directory name in case user enter an empty line
    fi
done

storage_dir=
while [ ! -d "$storage_dir" ]; do
    echo -n "Enter path to directory where to store the archive: "
    read storage_dir
    if [ ! -d "$storage_dir" ]; then
        echo "Directory \"$storage_dir\" does not exist"
    fi
done

tarfile="$storage_dir"/`date '+%Y%m%d_%H%M%S'`.tar.gz       # the tar archive is named "YYYYMMDD_HHMMSS.tar.gz"
tar cfz "$tarfile" "$dir_to_be_tarred"
echo 'Your archive is in:
'`ls -l "$tarfile"`
...