2012-07-26 138 views
0

誰能告訴我爲什麼下面的腳本失敗了?我無法弄清楚。Bash Tarball腳本退出失敗

#!/bin/bash 

D="$(date +%V).tar.bz2" 
E="$(date +%V).tar" 
P="mnt/Xendata/Weekly/" 

tar cjvf $P"dbtime_week_"$D --newer="1 weeks ago" mnt/DBTime 

tar cjvf $P"pounds_week_"$D --newer="1 weeks ago" mnt/Pounds 

tar cjvf $P"fts_week_"$D --newer="1 weeks ago" mnt/FTS/DB\ Backups 

tar cjvf $P"projects_week_"$D --newer="1 weeks ago" mnt/Projects 

tar czvf $P"groups_week_"$E --newer="1 weeks ago" --ignore-case --exclude=*Expo*Films* --exclude=*/Promo\ Material/* mnt/Groups 

tar czvf $P"users_week_"$E --newer="1 weeks ago" --ignore-case \ 
--exclude=*cache* \ 
--exclude=*dvdproj* \ 
--exclude=*iDVD* \ 
--exclude=*IMAP* \ 
--exclude=*Temporary.localized* \ 
--exclude=*.app* \ 
--exclude=*Spotlight* \ 
--exclude=*iTunes* \ 
--exclude=*/Library/PubSub* \ 
--exclude=*/Downloads/* \ 
--exclude=*.mpg \ 
--exclude=*.mov \ 
--exclude=*.mp4 \ 
--exclude=*.m4v \ 
--exclude=*/dev/* \ 
--exclude=*ladmin* \ 
--exclude=*/widgets/* \ 
mnt/Users 

exit $? 

這是輸出。大部分進展順利,但隨後失敗:

tar: mnt/Groups/~$xxxxxx.xls: file is unchanged; not dumped 
tar: Option --after-date: Treating date `1 weeks ago' as 2012-07-19 17:29:42.104908153 
tar: : Cannot stat: No such file or directory 
tar: Exiting with failure status due to previous errors 
tarball_weekly: line 25: --exclude=*Spotlight*: command not found 
tarball_weekly: line 29: --exclude=*.mpg: command not found 

回答

1

你肯定有在線路末端的反斜槓後沒有字符:

cat -ve tarball_weekly 

,看是否有^ M字符例如(格式dos)在$(行尾)之前

+0

前一行末尾有一個空格。謝謝! – MFB 2012-07-26 23:31:55