36 lines
838 B
Bash
Executable file
36 lines
838 B
Bash
Executable file
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
: <<inline_doc
|
|
desc: Copy files from one dir to another dir using tar
|
|
usage: do_copy_files $PRUNEPATH $ROOT_DIR $DEST_DIR
|
|
input vars: $1 list of dirs that must be skipped by tar
|
|
$2 the root dir of the files that will be copied
|
|
$3 the dir where the copied files will be placed
|
|
externals: --
|
|
modifies: --
|
|
returns: --
|
|
on error:
|
|
on success:
|
|
inline_doc
|
|
|
|
TMP_FILE=/tmp/prunelist
|
|
|
|
echo -en "\nCopying system files to $3 ..."
|
|
|
|
# Create a file that we can pass to tar as an "exclude list".
|
|
# There might be an easier way to achieve tar exclusions? Strip
|
|
# the leading /.
|
|
for F in $1 ; do
|
|
echo .${F} >> $TMP_FILE
|
|
done
|
|
|
|
mkdir -p $3
|
|
cd $2
|
|
tar -X $TMP_FILE -cf - . | tar -C $3 -xf -
|
|
|
|
# Clear out the temporary file
|
|
rm -f ${TMP_FILE}
|
|
|
|
echo "done."
|