如何使用 bash 脚本备份目录
How do I backup a directory using bash script
我在尝试将 'my_work' 目录备份到目标 'Backup' 目录时遇到困难。我试过 运行 脚本,但它似乎不起作用。这是我写的脚本:
#!/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
我似乎找不到解决办法,请帮忙
只需对您的脚本进行细微更改:
改变
tar --create --gzip --file=$DESTDIR $FILENAME $SRCDIR
到
tar --create --gzip --file=$DESTDIR$FILENAME $SRCDIR
注意 $DESTDIR
和 $FILENAME
之间没有 space。要抑制 tar: Removing leading '/' from member names
,您可以使用 -P
flag cautiously.
此外,最好用下划线或破折号替换文件名中的冒号。冒号是保留字符,也在 PATH
中使用,可能会引起混淆。
我在尝试将 'my_work' 目录备份到目标 'Backup' 目录时遇到困难。我试过 运行 脚本,但它似乎不起作用。这是我写的脚本:
#!/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
我似乎找不到解决办法,请帮忙
只需对您的脚本进行细微更改:
改变
tar --create --gzip --file=$DESTDIR $FILENAME $SRCDIR
到
tar --create --gzip --file=$DESTDIR$FILENAME $SRCDIR
注意 $DESTDIR
和 $FILENAME
之间没有 space。要抑制 tar: Removing leading '/' from member names
,您可以使用 -P
flag cautiously.
此外,最好用下划线或破折号替换文件名中的冒号。冒号是保留字符,也在 PATH
中使用,可能会引起混淆。