Warm tip: This article is reproduced from serverfault.com, please click

This tar command works on command line but fails in a script

发布于 2020-10-09 23:48:14

This tar command works on command line but fails in a script.

CODE:

find ~/ -name "sql*.db" | tar -czv -f backup.tar.gz -T -

OUTPUT FROM COMMAND LINE:

find ~/ -name "sql*.db" | tar -czv -f backup.tar.gz -T -
tar: Removing leading `/' from member names
/home/myuser/folder1/sql1.db
/home/myuser/folder2/sql2.db
/home/myuser/folder3/sql3.db
/home/myuser/folder4/sql4.db
/home/myuser/folder5/sql5.db

ERROR FROM SCRIPT:

[ps623237]$ sh backup.sh
tar: -\r: Cannot stat: No such file or directory
tar: Error is not recoverable: exiting now
Questioner
Corbin
Viewed
0
Corbin 2020-12-12 22:49:38

Problem was the Windows (CRLF) instead of the Linux (LF). I used notepad++

Edit/EOL Conversion/UNIX 

to fix it. Here is the refined code.

#!/bin/sh
DOW=$(date +"%A");
find /home/user1 -name sql*.db | tar -czv -f /home/user1/backup/$DOW.DB.tar.gz -T -