簡體   English   中英

tar備份錯誤

[英]Tar backup error

我遵循了這個問題: 如何使用bash腳本使用tar備份文件系統?

但是,當我運行腳本時,出現以下錯誤:

: not found/backup.sh: 2: /etc/init.d/backup.sh: 
: not found/backup.sh: 5: /etc/init.d/backup.sh: 
: not found/backup.sh: 7: /etc/init.d/backup.sh: 
: not found/backup.sh: 10: /etc/init.d/backup.sh: 
: not found/backup.sh: 12: /etc/init.d/backup.sh: 
/etc/init.d/backup.sh: 13: /etc/init.d/backup.sh: Syntax error: "(" unexpected

這是我的腳本:

#!/bin/bash

#TODAY=$(date +%F)
#HOST=$(hostname)

mybackupname="backup-fullsys-$(date +%Y-%m-%d).tar.gz"

# Record start time by epoch second
start=$(date '+%s')

# List of excludes in a bash array, for easier reading.

excludes=(--exclude=/FILES/Media/Programs/Mint/Backup/$mybackupname)
excludes+=(--exclude=/proc)
excludes+=(--exclude=/lost+found)
excludes+=(--exclude=/sys)
excludes+=(--exclude=/mnt)
excludes+=(--exclude=/MEDIA)
excludes+=(--exclude=/BACKUP)
excludes+=(--exclude=/FILES)

if ! tar -czf "$mybackupname" "${excludes[@]}" /; then
  status="tar failed"
elif ! mv "$mybackupname" FILES/Media/Programs/Mint/Backup/ ; then
  status="mv failed"
else
  status="success: size=$(stat -c%s backups/filesystem/$mybackupname) duration=$((`date '+%s'` - $start))"


# Log to system log; handle this using syslog(8).
logger -t backup "$status"

有人看到我在哪里錯嗎?

正如“其他人”評論的那樣,此處的解決方案是在bash文件上運行dos2unix convert命令:

sudo dos2unix /etc/init.d/backup.sh

並使用bash命令not sh命令運行它:

sudo bash /etc/init.d/backup.sh

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM