如何使用bash脚本备份目录

时间:2015-07-06 02:33:45

标签: linux bash redhat

我在尝试备份我的“我的工作”时遇到了困难。目录进入我的目的地'备份'目录。我尝试运行脚本,但它似乎不起作用。这是我写的脚本:

#!/bin/bash

SRCDIR="/home/student/Documents/my_work/"
DESTDIR="/home/student/Backups/"
FILENAME=backup1-$(date +%-Y%-m%-d)-$(date +%-T).tgz 
tar --create --gzip --file=$DESTDIR $FILENAME $SRCDIR

这是我收到的输出:

tar: backup1-201576-10\:24\:17.tgz: Cannot stat: No such file or directory
tar: Removing leading '/' from member names
tar (child): /home/student/Backups/: Cannot open: Is a directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now

我似乎无法找到解决方案,请帮助

1 个答案:

答案 0 :(得分:2)

只需对脚本进行微妙的更改:

更改

tar --create --gzip --file=$DESTDIR $FILENAME $SRCDIR

tar --create --gzip --file=$DESTDIR$FILENAME $SRCDIR

请注意$DESTDIR$FILENAME之间没有空格。要取消tar: Removing leading '/' from member names,您可以使用-P flag cautiously

此外,用下划线或破折号替换文件名中的冒号是很好的。冒号是一个保留字符,也用于PATH,可能会造成混淆。