Skip to content
Advertisement

Bash, tar “cannot stat no such file or directory” [closed]

I’m trying to build a little backup script but I keep getting the following error:

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

The folder /projects exists, but still no tar ball is created. Here is my code:

#!/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 shows the following:

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

Any idea on what is wrong?

Advertisement

Answer

Filepaths that start with a leading / on Linux and other related systems are located at the root directory. This means that "/projects" usually refers to a different directory than "projects".

It looks like you probably are trying to access a subdirectory /path/to/projects from directory /path/to using the path /projects. This is incorrect — if your working directory is /path/to, you need to access folder projects by changing backup_files="/projects" to backup_files="./projects""." refers to the current working directory — or simply backup_files="projects".

So, while relative filepaths "./projects" and "projects" are usually equivalent, they are generally and functionally different from the fully qualified path "/projects".

User contributions licensed under: CC BY-SA
1 People found this is helpful
Advertisement