如何从bash脚本复制变量文件

时间:2015-01-27 01:16:05

标签: bash shell scripting backup

我运行以下脚本:

#!/bin/bash
{
date=$( date '+%Y-%m-%d_%H-%M-%S' )
file="mysql_dump_$date"

echo '###Start DB Backup '$date'###'
        mysqldump -h localhost -u 'USERNAME' -pPASSWD 'DBNAME' > /backup/$file
echo '###DB Backuo Finished '$date'###'
} >> /backup/backup.log

正如你在mysqldump行中看到的那样,$ file将被命名为mysql_dump_date

我想在其他地方cp该文件,但不知道如何指定使用mysqldump行中使用的$文件。显然,我可以使用$ file,但如果数据库备份在10:49:59开始,而cp将在10:50:00开始,它将没有相同的时间戳,并且无法找到该文件副本会失败。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

也许我误解了你的怀疑。您似乎认为$file如果再次使用它会改变其值。

Bash变量不会改变它们的值。 $date$file在脚本中设置一次,然后它们保持相同的值,直到它们在脚本末尾消失(除非它们被重新分配)。因此,您可以再次使用$file,它将具有相同的值。