gpt4 book ai didi

linux - Shell 脚本无法正确保存文件

转载 作者:太空宇宙 更新时间:2023-11-04 09:08:02 29 4
gpt4 key购买 nike

大家好,我制作了一个备份脚本,它将保存文件,但我得到的文件不是 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 这样的专有名称,所以文件夹没有被正确地放置在正确的文件夹中,其余的脚本不起作用。我做错了数据类型吗?

谢谢

最佳答案

这样试试

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

否则 shell 将寻找名为 DAY_OF_WEEK_files 的变量。这同样适用于 DAY_OF_WEEK_databases

关于linux - Shell 脚本无法正确保存文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6100055/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com