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

Clá*_*iro 1 unix linux bash 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
Run Code Online (Sandbox Code Playgroud)

文件夹/项目存在,但仍然没有创建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"
Run Code Online (Sandbox Code Playgroud)

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

ls: cannot access /projects: No such file or directory
Run Code Online (Sandbox Code Playgroud)

什么是错的?

sig*_*g_v 5

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

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

因此,尽管相对文件路径"./projects""projects"通常是等价的,他们一般都是从完全合格的路径功能不同"/projects".