Natural 发表于 2019-8-27 11:05:26

关于lnmp备份脚本中tar命令-C参数的问题

lnmp的备份脚本中有这么一段命令:
Backup_Dir()
{
    Backup_Path=$1
    Dir_Name=`echo ${Backup_Path##*/}`
    Pre_Dir=`echo ${Backup_Path}|sed 's/'${Dir_Name}'//g'`
    tar zcf ${Backup_Home}www-${Dir_Name}-$(date +"%Y%m%d").tar.gz -C ${Pre_Dir} ${Dir_Name}
}个人解读:
tar zcf 新建的压缩包名 -C 需要压缩的路径疑问:
通过查阅文档,发现:
-C<目的目录>或--directory=<目的目录> 切换到指定的目录我自己使用解读出来的格式去压缩文件会出错?
但是lnmp备份脚本正常?
所以请问一下各位前辈,这是为什么?

licess 发表于 2019-8-27 14:27:33

root@vpser:~# tar --help|grep "\-C"
-C, --directory=DIR      change to directory DIR

-C 只是临时切换目录,不是解压路径也没其他功效

不清楚你解压时的命令和具体报错信息无法确定原因

自然 发表于 2019-8-27 22:19:34

licess 发表于 2019-8-27 14:27
-C 只是临时切换目录,不是解压路径也没其他功效

不清楚你解压时的命令和具体报错信息无法确定原因 ...

军哥,我看你这一段是备份打包的口令啊?
我有点懵,看了文档-C是解压缩的目录,
但是按照我的理解,你这个用在了压缩打包上面了

licess 发表于 2019-8-28 08:55:32

自然 发表于 2019-8-27 22:19
军哥,我看你这一段是备份打包的口令啊?
我有点懵,看了文档-C是解压缩的目录,
但是按照我的理解,你这 ...

打包就是临时切换到该目录下直接进行打包
解压就是临时切换到该目录下解压包文件到该目录下

Natural 发表于 2019-8-29 11:57:31

licess 发表于 2019-8-28 08:55
打包就是临时切换到该目录下直接进行打包
解压就是临时切换到该目录下解压包文件到该目录下 ...

感谢军哥
我已经知道问题所在了,后面的两个参数间有一个空格
页: [1]
查看完整版本: 关于lnmp备份脚本中tar命令-C参数的问题