我在家里运行 Ubuntu 12.04 服务器,并使用 Ubuntu One 作为备份站点。我不擅长编写脚本(初学者),因此在编写 bash 脚本(我稍后将其用作 crontab 进行备份)时,必须使用“Ubuntu\ One”或类似方法,这会让事情变得一团糟。事实上,我不得不在脚本中执行“cd 'Ubuntu\ One'”,这样我就可以跳过使用 tar 命令中的目录结构,因为它不起作用。
有没有可能重命名默认的“Ubuntu One”文件夹?或者是否存在我在处理 tar 命令时没有看到的其他简单方法?
以下是我尝试做的,但没有效果:
DEST_DIR="/home/user/Ubuntu\ One/backup"
tar -vczpf ${DEST_DIR}/${FNAME}-${TIMESTAMP}.tar.gz ${SRC_DIR} >> ${LOG}
但这确实有效:
cd /home/user/Ubuntu\ One
tar -vczpf ${FNAME}-${TIMESTAMP}.tar.gz ${SRC_DIR} >> ${LOG}
我想要变量,这样我就可以备份更具体的文件和目录,然后使用数组来整理内容的存放位置。强迫我在脚本中“cd”到 U1 目录有点糟糕。
答案1
尝试这个:
DEST_DIR="/home/user/Ubuntu One/backup"
tar -vczpf "${DEST_DIR}/${FNAME}-${TIMESTAMP}.tar.gz" ${SRC_DIR} >> ${LOG}
双引号内的反斜杠不会转义。但是双引号内的空格键无需转义。