Bash,tar"不能统计没有这样的文件或目录"

时间:2016-01-28 21:08:45

标签: linux bash unix ubuntu

我正在尝试构建一个小备份脚本,但我不断收到以下错误:

tar: Removing leading `/' from member names
tar: /projects: Cannot stat: No such file or directory
tar: Exiting with failure status due to previous errors

文件夹/项目存在,但仍然没有创建tar球。这是我的代码:

#!/bin/bash
backup_files="/projects"

#destination of backup
dest="/"

#Create archive filename
day=$(date +%Y-%m-%d)
hostname=$(hostname -s)
archive_file="$hostname-$day.tar.gz"

#Backup the files using tar
tar -czf $archive_file $backup_files

#Print end status message
echo
echo "Backup finished"

ls -ld / projects显示以下内容:

ls: cannot access /projects: No such file or directory

对于什么是错误的任何想法?

1 个答案:

答案 0 :(得分:5)

在Linux和其他相关系统上以前导/开头的文件路径位于根目录。这意味着"/projects"通常指的是与"projects"不同的目录。

您可能正在尝试使用路径/path/to/projects从目录/path/to访问子目录/projects。这是不正确的 - 如果您的工作目录是/path/to,则需要通过将projects更改为backup_files="/projects"来访问文件夹backup_files="./projects" - "."指的是当前工作目录 - 或简称backup_files="projects"

因此,虽然相对文件路径"./projects""projects"通常是等效的,但它们通常在功能上与完全限定的路径"/projects"不同。