mirror of https://github.com/tLDP/LDP
34 lines
1.1 KiB
Bash
34 lines
1.1 KiB
Bash
#!/bin/bash
|
|
|
|
# Backs up all files in current directory modified within last 24 hours
|
|
#+ in a "tarball" (tarred and gzipped file).
|
|
|
|
BACKUPFILE=backup-$(date +%m-%d-%Y)
|
|
# Embeds date in backup filename.
|
|
# Thanks, Joshua Tschida, for the idea.
|
|
archive=${1:-$BACKUPFILE}
|
|
# If no backup-archive filename specified on command-line,
|
|
#+ it will default to "backup-MM-DD-YYYY.tar.gz."
|
|
|
|
tar cvf - `find . -mtime -1 -type f -print` > $archive.tar
|
|
gzip $archive.tar
|
|
echo "Directory $PWD backed up in archive file \"$archive.tar.gz\"."
|
|
|
|
|
|
# Stephane Chazelas points out that the above code will fail
|
|
#+ if there are too many files found
|
|
#+ or if any filenames contain blank characters.
|
|
|
|
# He suggests the following alternatives:
|
|
# -------------------------------------------------------------------
|
|
# find . -mtime -1 -type f -print0 | xargs -0 tar rvf "$archive.tar"
|
|
# using the GNU version of "find".
|
|
|
|
|
|
# find . -mtime -1 -type f -exec tar rvf "$archive.tar" '{}' \;
|
|
# portable to other UNIX flavors, but much slower.
|
|
# -------------------------------------------------------------------
|
|
|
|
|
|
exit 0
|