写了个脚本,用来备份服务器中的web和数据库,测试的时候报如下错误:
tar: 从成员名中删除开头的“/”
CODE:
#!/bin/bash
backdir=”/backup”
dirname=”$(date +%Y-%m-%d-%H-%M)”
DIR=”nq db”
for dir in $DIR
do
mkdir -p $backdir/$dirname/$dir
done
# web backup
targz=”nq.tar.gz”
tar zcf $backdir/$dirname/nq/$targz /site/nq
# database backup
dbtargz=”db.tar.gz”
cd /var/lib/mysql
mysqldump –opt -u root -p –password=root NQ> $backdir/$dirname/db/NQ.sql
tar zcf $backdir/$dirname/db/$dbtargz $backdir/$dirname/db/NQ.sql
rm -rf $backdir/$dirname/db/NQ.sql
在Linux中,tar打包的时候,不论是创建还是解压tar包, 默认情况下绝对路径中的根”/”将会被去除, 可用参数P来保留
修改为:tar zcfP $backdir/$dirname/nq/$targz /site/nq 即可。
原创文章,转载请注明。本文链接地址: https://www.rootop.org/pages/451.html