tar[-j|-z][cv][-f建立的档案名]filename...《==打包与压缩
tar[-j|-z][tv][-f建立的档案名]《==查看档案
tar[-j|-z][xv][-f建立的档案名][-C目录]《==解压缩
选项与参数:
-c:建立打包档案,可搭配-v来观察过程中被打包的档案名(filename)
-t:查看打包档案的内容含有那些档案
-x:解压缩的功能,可以搭配-C在特定的目录解开;-c、-t、-x不能同时出现在一串指令列中。
-j:透过bzip2的支持进行压缩/解压缩:此时档案名最好为*.tar.bz2
-z:透过gzip的支持进行压缩/解压缩:此时档案名最好为*.tar.gz
-v:在压缩/解压缩的过程中,将正在处理文件名显示出来
-ffilename:-f后面要立刻接被处理的档案名!建议-f单独写一个选项
-C目录:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项
tar命令是Unix/Linux系统中非常常用的备份文件方法,它的使用权限是所有用户。
tar命令语法:
tar[主选项+辅选项]文件名或目录。使用该命令时,主选项是必须要有的,它告诉tar命令要做什么,辅选项是辅助使用的,可以选用。
主选项:
-c创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。相当于打包。
-x从档案文件中释放文件。相当于拆包。
-t列出档案文件的内容,查看已经备份了哪些文件。
-r把要存档的文件追加到档案文件的末尾。例如用户已经做好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中
特别注意,主选项只能存在一个,c/x/t/r仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。
辅助选项:
-z:用gzip程序来压缩或解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。文件格式一般为xx.tar.gz或xx.tgz
-j:使用bzip2程序进行文件的压缩或解压,文件格式一般为xx.tar.bz2
-v:压缩的过程中显示文件!这个常用
-f:使用档名,请留意,在f之后要立即接档名!不要再加其他参数!
-p:使用原文件的原来属性(属性不会依据使用者而变)
-w每一步都要求确认。
--excludeFILE:在压缩的过程中,不要将FILE打包!
范例:
范例一:将整个/etc目录下的文件全部打包成/tmp/etc.tar
[root@ubuntu~]#tar-cvf/tmp/etc.tar/etc<==仅打包,不压缩!
[root@ubuntu~]#tar-zcvf/tmp/etc.tar.gz/etc<==打包后,以gzip压缩
[root@ubuntu~]#tar-jcvf/tmp/etc.tar.bz2/etc<==打包后,以bzip2压缩
#特别注意,在参数f之后的文件档名是自己取的,我们习惯上都用.tar来作为辨识。
#如果加z参数,则以.tar.gz或.tgz来代表gzip压缩过的tarfile
#如果加j参数,则以.tar.bz2来代表bzip2压缩过的tarfile
#上述指令在执行的时候,会显示一个警告讯息:
#‘tar:Removingleading`/"frommembernames’那是关于绝对路径的特殊设定。
范例二:查看上述/tmp/etc.tar.gz文件内有那些被压缩的文件
[root@ubuntu~]#tar-ztvf/tmp/etc.tar.gz
#由于我们使用gzip压缩,所以要查阅该tarfile内的文件时,
#就得要加上z这个参数了!这很重要的!
范例三:将/tmp/etc.tar.gz文件解压缩在/usr/local/src底下
[root@linux~]#cd/usr/local/src
[root@linuxsrc]#tar-zxvf/tmp/etc.tar.gz
#在预设的情况下,我们可以将压缩档在任何地方解开的!以这个范例来说
#我先将工作目录变换到/usr/local/src底下,并且解开/tmp/etc.tar.gz
#则解开的目录会在/usr/local/src/etc,另外,如果您进入/usr/local/src/etc
#则会发现,该目录下的文件属性与/etc/可能会有所不同喔!
范例四:在/tmp底下,我只想要将/tmp/etc.tar.gz内的etc/passwd解开而已
[root@linux~]#cd/tmp
[root@linuxtmp]#tar-zxvf/tmp/etc.tar.gzetc/passwd
#我可以透过tar-ztvf来查阅tarfile内的文件名称,如果单只要一个文件,
#就可以透过这个方式来下达!注意到!etc.tar.gz内的根目录/是被拿掉了!
范例五:我要备份/home,/etc,但不要/home/dmtsai
[root@linux~]#tar--exclude/home/dmtsai-zcvfmyfile.tar.gz/home/*/etc
另外:tar命令的C参数
$tar-cvffile2.tar/home/usr2/file2
tar:Removingleading'/'frommembersnames
home/usr2/file2
该命令可以将/home/usr2/file2文件打包到当前目录下的file2.tar中,需要注意的是:使用绝对路径标识的源文件,在用tar命令压缩后,文件名连同绝对路径(这里是home/usr2/,根目录'/'被自动去掉了)一并被压缩进来。使用tar命令解压缩后会出现以下情况:
$tar-xvffile2.tar
$ls
………home…………
解压缩后的文件名不是想象中的file2,而是home/usr2/file2。
$tar-cvffile2.tar-C/home/usr2file2
该命令中的-Cdir参数,将tar的工作目录从当前目录改为/home/usr2,将file2文件(不带绝对路径)压缩到file2.tar中。注意:-Cdir参数的作用在于改变工作目录,其有效期为该命令中下一次-Cdir参数之前。
使用tar的-Cdir参数,同样可以做到在当前目录/home/usr1下将文件解压缩到其他目录,例如:
$tar-xvffile2.tar-C/home/usr2
而tar不用-Cdir参数时是无法做到的:
$tar-xvffile2.tar/home/usr2
tar:/tmp/file:Notfoundinarchive
tar:
⑵ linux中压缩命令都有哪些各自的语法和作用是
linux压缩和解压缩命令
tar
解包:tar zxvf filename.tar
打包:tar czvf filename.tar dirname
gz命令
解压1:gunzip filename.gz
解压2:gzip -d filename.gz
压缩:gzip filename
.tar.gz 和 .tgz
解压:tar zxvf filename.tar.gz
压缩:tar zcvf filename.tar.gz dirname
压缩多个文件:tar zcvf filename.tar.gz dirname1 dirname2 dirname3.....
bz2命令
解压1:bzip2 -d filename.bz2
解压2:bunzip2 filename.bz2
压缩:bzip2 -z filename
.tar.bz2
解压:tar jxvf filename.tar.bz2
压缩:tar jcvf filename.tar.bz2 dirname
bz命令
解压1:bzip2 -d filename.bz
解压2:bunzip2 filename.bz
.tar.bz
解压:tar jxvf filename.tar.bz
z命令
解压:uncompress filename.z
压缩:compress filename
.tar.z
解压:tar zxvf filename.tar.z
压缩:tar zcvf filename.tar.z dirname
zip命令 《Linux就该这么学》 更多命令一起学习。
解压:unzip filename.zip
压缩:zip filename.zip dirname
⑶ linux 定时任务,压缩 日志,并删除掉 指定日期之前的 日志
sh文件
只要定时任务中添加即可,注意 要是同时运行 ,多个脚本的压缩命令。 不要在一个时间 进行 ,会导致 压缩失败
⑷ 如何实现linux自动压缩指定日志
使用cron定时任务
```
cat << EOF >> /etc/crontab
10 1 */1 * * root tar czf /back/log.tar.gz /var/log/my.log >/dev/null 2>/dev/null
EOF
```
每天的1时10分压缩/var/log/my.log到/back/log.tar.gz
5个日期的意义为"分 时 日 月 周"
网上很多的资料,你很快就会明白。
⑸ linux压缩命令有什么 linux压缩命令介绍
1、gzip: 压缩后的文件后缀为.gz。用法:gzip+文件路径 ,压缩完成后会删除原文件。
2、bzip2:压缩后的文件后缀为.bz2.(比gzip有着更大压缩比的压缩工具,受用格式与其相似。)-k:压缩或者解压时可以保留原文件。
3、zip: 既归档又压缩的工具,可以压缩目录,以上三个不能,默认不删除原文件。
4、tar: 归档工具,也是很好的备份工具,后缀名为.tar.gz。
⑹ linux下怎样压缩文件和解压缩
Linux系统压缩和解压文件都可以用tar命令,需要在压缩文件时指定压缩参数,解压缩时指定解压参数。
tar命令主要参数解释:
-z参数:表示要解压或压缩的是tar.gz文件(如果是tar.bz2就是-j)
-x参数:表示是执行解压缩操作而不是打包操作
-v参数:表示列出解压时的详细消息
-f参数:指定要解压的文件名,或者指定新建的打包文件的名字
tar命令解压时还可以指定解压的目标目录,也就是把压缩文件的内容解压到哪个文件夹内,这个参数是-C(大写的C),例子:
解压tar.gz文件:tar -zxv -f test.tar.gz -C /home/user/target
解压tar.bz2文件: tar -jxv -f test.tar.bz2 -C /home/user/target
如果是zip文件就无法用tar命令解压了,需要用unzip命令,unzip命令常用的参数是指定解压缩的目标目录的-d参数,例子:
unzip test.zip -d /home/user/target
下面说一下压缩文件,Linux上最常用的压缩格式一般是bzip2格式(常用bz2后缀)和gzip格式(常用gz后缀),因为它俩的压缩比比较高而且没有使用授权费用。压缩命令也是用tar命令,只不过是把上面的解压tar命令中的-x参数换成-c参数,-c参数表示新建打包文件,在配合上-j或-z参数就能用指定的格式压缩文件了。不过注意,当压缩文件时,-f参数后面跟的是新建的压缩包的名字,压缩包文件名后面还要跟将要压缩的文件或文件夹(这就不需要-C参数了)。不多说,直接看例子就明白了:
tar -jcv -f newfile.tar.bz2 要压缩的文件或目录
tar -zcv -f newfile.tar.gz 要压缩的文件或目录
⑺ 如何实现linux自动压缩指定日志
/bin/bash
# logs zip
dir=你的日志路径
log=日志名称
bak_dir=压缩后的日志存放位置
echo "###########开始备份###################"
tar -zcvf ${bak_dir}/bak_$(date "+%Y%m%d_%H%M").tar.gz ${dir}/$log
⑻ 想请教下各路大神,linux下每天定时给db2数据库做一个全库压缩备份的脚本,应该怎么写呢
备份命令的栗子:db2 backup db tt online to /db2home/db2 compress include logs
然后命令挂到crontab里面就行了
db2一备份数据库就几乎不动了,慎重哈~(其实一周备份一次就差不多了)
⑼ linux 按天压缩并切割日志
1、linux 自带的 logrotate 命令
2、定义切割文件相关信息
/var/log/nginx/*.log {
daily #按天打包
rotate 180 #保存周期为180以内的,超过180天的则删除
missingok
notifempty
dateext
compress
nodelaycompress
sharedscripts
postrotate
/etc/init.d/nginx reload
endscript
}
3、crontab 设置一个定时任务
59 23 * * * /usr/sbin/logrotate -f /var/logrotate/nginx >> /tmp/logrotate.log