Bash脚本帮助 - Tar不使用变量?

Jor*_*-oh 3 linux bash shell

我试图通过使用bash脚本和CRON任务基于昨天的日期备份集文件夹.

该网站的文件夹结构如下:

/home/admin/domains/mysite.com/public_html/media/2014/March
Run Code Online (Sandbox Code Playgroud)

我想将该文件夹备份到此文件:

/home/admin/domains/mysite.com/public_html/bk/mediabackup-March-2014.tar.gz
Run Code Online (Sandbox Code Playgroud)

所以创建了这个脚本:


#!/bin/bash

NOW=$(date -d "12 hours ago" '+%m')

NOWYEAR=$(date -d "12 hours ago" '+%Y')

MONTHS=(Dummy January February March April May June July August September October November December)

NOWMONTH=${MONTHS[3]}

FILE="/home/admin/domains/mysite.com/public_html/bk/mediabackup-$NOWMONTH-$NOWYEAR.tar.gz"

PATH="/home/admin/domains/mysite.com/public_html/media/$NOWYEAR/$NOWMONTH"

tar -zcvf $FILE $PATH
Run Code Online (Sandbox Code Playgroud)

当我通过shell运行此脚本时,我会这样做:

bash script.sh
Run Code Online (Sandbox Code Playgroud)

它可能会出现"命令未找到" - 不确定为什么它不起作用?

任何帮助都会很棒,谢谢:)

tri*_*eee 7

通过覆盖shell的内置PATH变量,您将导致它找不到该tar命令.使用另一个变量名,通常不要使用大写变量名.