Скрипт оболочки не сохраняет файл правильно - PullRequest
0 голосов
/ 23 мая 2011

Привет всем, я сделал резервный скрипт, и он сохранит файл, но вместо файла с именем 01_files.tar.gz или 01_databases.tar.gz все, что я получу, это .tar.gz, а затем остальные скрипт не может работать должным образом.

Вот как я могу указать нужные мне числа в имени файла:

# Date Variables
DAY_OF_YEAR=$(date '+%j')
DAY_OF_MONTH=$(date '+%d')
DAY_OF_WEEK_RAW=$(date '+%w')
DAY_OF_WEEK=$((DAY_OF_WEEK_RAW + 1))
MONTH=$(date '+%m')
YEAR=$(date '+%Y')

Вот где я делаю свои папки:

# Make Weekly Folder
mkdir tmp/weekly
echo 'Made weekly folder...'

# Make Folder For Current Year
mkdir tmp/$YEAR
echo 'Made folder for current year...'

# Make Folder For Current Month
mkdir tmp/$YEAR/$MONTH
echo 'Made folder for current month...'

# Make Biannual Folder For Current Year
mkdir tmp/$YEAR/biannual
echo 'Made biannual folder for current year...'

# Make The Weekly Backup
tar -zcvf tmp/weekly/$DAY_OF_WEEK_files.tar.gz $SOURCE
mysqldump -Av -u $DATABASE_USER -p$DATABASE_PASSWORD > $DAY_OF_WEEK.sql
tar -zcvf tmp/weekly/$DAY_OF_WEEK_databases.tar.gz $SOURCE
rm -rf $DAY_OF_WEEK.sql
echo 'Made weekly backup...'

Однако, как я уже сказал, я получаю .tar.gz вместо правильного имени, такого как 01_files.tar.gz и 01_databases.tar.gz, поэтому папки не помещаются должным образом в нужные папки, а остальные скрипт не работает Я неправильно делаю тип данных?

Спасибо

Ответы [ 2 ]

2 голосов
/ 23 мая 2011

Попробуйте это так

tar -zcvf "tmp/weekly/${DAY_OF_WEEK}_files.tar.gz" $SOURCE

В противном случае оболочка будет искать переменную с именем DAY_OF_WEEK_files.То же относится и к DAY_OF_WEEK_databases.

1 голос
/ 23 мая 2011

используйте эти конструкции:

tar -zcvf tmp/weekly/${DAY_OF_WEEK}_files.tar.gz $SOURCE
mysqldump -Av -u $DATABASE_USER -p$DATABASE_PASSWORD > $DAY_OF_WEEK.sql
tar -zcvf tmp/weekly/${DAY_OF_WEEK}_databases.tar.gz $SOURCE
rm -rf $DAY_OF_WEEK.sql

в противном случае bash будет предполагать, что вы ищете переменные с именами DAY_OF_WEEK_files и DAY_OF_WEEK_databases.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...