tar命令

功能:文件的打包、解包,并且可以实现压缩功能。

打包压缩语法:tar  -czvf   文件名.tar.gz   要打包的文件列表

解包解压缩语法:tar  -xvf   文件名.tar.gz

选项:

-c  创建打包文件(create)

-z  调用gzip压缩文件(gzip)

-j  调用bzip2压缩文件(bzip2)

-x  解包解压缩(extract)

-v  显示过程(verbose)

-f  指定打包文件名(filename)

-t  显示tar包中的文件列表(list)

-r  增加文件到包中(append)

--delete  从包中删除文件

-C  将文件解压到指定的目录中(change)

准备工作:进入当前用户家目录,显示文件列表。以下实例全部在当前用户家目录的tar目录中操作。

cd

ls

mkdir  tar

cd  tar

pwd

实例:将/etc目录打包备份到当前目录的etc.tar.gz中。查看tar包中的文件列表。

tar  -czvf  etc.tar.gz   /etc

tar  -tf  etc.tar.gz

du  -hs  etc.tar.gz

实例:将当前目录中的etc.tar.gz解压在当前目录中,将etc.tar.gz压缩包文件解压到/tmp目录中。

tar  -xvf  etc.tar.gz

tar  -xvf  etc.tar.gz  -C   /tmp

练习:执行以下打包操作。

tar  -cvf  host.tar  /etc/host*

tar  -tf   host.tar

tar  -f  host.tar  -r  /etc/passwd  /etc/group

tar  -f  host.tar  --delete  etc/host.conf

------------------------

zip压缩、unzip解压缩

语法:命令  文件名.zip

实例:将/etc目录用zip命令进行压缩成当前目录的etc.zip文件。

zip  conf.zip  /etc/*.conf

du  -hs  conf.zip

实例:将当前目录的etc.zip文件解压到/tmp目录中。

unzip   conf.zip  -d  /tmp/

------------------------

gzip压缩、gunzip解压缩

选项:

-h 显示帮助

-9  指定压缩比例为9

实例:将/etc目录用tar命令打包,然后用gzip压缩,再用gunzip解压缩。最后用tar解包etc.tar包文件。

tar  -cvf  etc.tar   /etc

ls

gzip  etc.tar

gunzip  etc.tar.gz

tar -xvf  etc.tar

------------------------

bzip2压缩、bunzip2解压缩

选项:

-h 显示帮助

-k 保留压缩文件

-9  指定压缩比例为9

实例:将/etc目录用tar命令打包,然后用bzip2压缩,再用bunzip2解压缩。最后用tar解包etc.tar包文件。

tar  -cvf  etc.tar   /etc

ls

bzip2  etc.tar

bunzip2  -k  etc.tar.gz

tar -xvf  etc.tar

------------------------

计划任务:

功能控制什么时间执行什么任务。

类型:at一次性计划任务,crontab周期性计划任务。

at一次性计划任务:

技术要点:

at软件简介

at服务管理命令

at计划的创建、查询、删除

查看at软件的文件列表:rpm  -ql  at

查询at软件的配置文件:rpm  -qc  at

at服务的运维管理命令:

重启服务:service  atd  restart

停止服务:service  atd  stop

开机自动启动atd服务:chkconfig   atd  on

查看atd服务开机设置状态:chkconfig  --list  atd

注意:在互联网服务器上重要的系统服务和网络服务必须设置成开机启动。

at用法:at  [选项]  时间

选项:-f  指定计划的脚本文件

-l  显示未执行的计划任务列表,可用atq命令

-c  编号   查询指定编号任务的内容

atrm  删除指定编号的计划任务

实例:以非交互方式指定at计划任务,1分钟后执行“wall  hello”给所有登录的用户发消息。

echo "wall  hello" | at  now+1min

实例:以非交互方式指定at计划任务,1分钟后执行“tar  -czf  etc.tar.gz  /etc”。

echo "tar  -czf  etc.tar.gz  /etc" | at now+1min

实例:以交互式方式创建at计划任务,2分钟后执行"wall  nihao".

at  now+2min

wall  nihao

wall  haha

ctrl+d完成任务的定义

at支持的各种时间:

时:分 年-月-日 :15:20  2017-07-25

HH:MM  YYYY-MM-DD

时:分[am|pm]

now+数字[min|hours|days|week]

实例:时间表示案例如下。

at  now +2 hours    两小时以后执行任务

at  now +2 days     两天以后执行任务

at  15:20   今天下午15点20分执行任务

at  5:20am   2017-07-25   指定的2017年7月25日上午5:20执行任务

说明:特殊情况,如当前时间大于3:20表示,表示明天3:20执行任务。

以脚本方式执行计划任务:

首先,准备计划任务命令文件。

vi  /root/Aplan.sh  内容如下

date  > /tmp/a.log

head  -3  /etc/passwd  >> /tmp/a.log

ifconfig  >> /tmp/a.log

然后,创建at计划任务.查询计划任务。

at  -f   /root/Aplan.sh  now+1min

atq

at -c 3

最后,验证计划任务的执行。

cat  /tmp/a.log

黑名单:禁止使用at命令的用户名单

白名单:允许使用at命令的用户名单

crontab的黑名单:/etc/at.deny   (默认存在)

crontab的白名单:/etc/at.allow  (默认不存在)

注意:当存在白名单时,只允许白名单中的用户执行at命令创建计划任务,其他用户都是黑户。

小结:必须掌握用at创建、查询、删除一次性计划任务,了解at.deny黑名单的应用。

------------------------

crontab周期性计划任务:

技术要点:

crontabs软件简介

crond服务管理命令

crontab计划的创建、查询、删除

功能:按指定的时间规律重复执行某些命令。

查软件是否已安装:rpm  -q  crontabs  或 rpm  -qa |grep  crontabs

查看crontabs软件的文件列表:rpm  -ql  crontabs

查询crontabs软件的配置文件:rpm  -qc  crontabs

crontabs的主配置文件:cat  /etc/crontab

计划任务的日志文件:cat  /var/log/cron

crond服务的运维管理命令:

重启服务:service  crond  restart

停止服务:service  crond  stop

开机自动启动atd服务:chkconfig   crond  on

查看atd服务开机设置状态:chkconfig  --list  crond

注意:在互联网服务器上重要的系统服务和网络服务必须设置成开机启动。

创建计划任务的方法一:

在/etc/crontab配置文件中指定计划任务。

实例:创建周期性计划任务,每周3、6的23:50执行reboot重启。

vi   /etc/crontab

50  23  *  *  3,6   root   reboot

格式说明:分  时   日  月  周   用户名  命令

3,6 表示不连续的时间范围

3-6 表示连续的时间范围

*  表示每时每刻。用具体数值是为了缩小时间范围

*/5  时间间隔。如果*/5是表示小时,那么是每隔5小时间执行一次任务

实例:创建周期性计划任务,每周1到5的22:50执行tar打包备份/etc目录到/opt目录中。

vi   /etc/crontab

50  22  *  *  1-5   root   tar  -czf  /opt/etc.tar.gz  /etc

说明:分 时 日 月 周 用户 命令

-----------------------------------------------------------------------------------

小插曲1:用当天的年月日创建.txt后缀的文件。

touch  $(date +%F).txt

小插曲2:用当天的年月日创建/etc目录的tar打包文件。

tar  -cf  etc_$(date  +%F).tar   /etc

------------------------------------------------------------------------------------

创建计划任务的方法二:

crontab  [选项]

选项:

-h  显示帮助

-l  显示计划任务列表

-e  编辑计划任务(会以vi方式编辑)

-r  删除当前用户的所有计划任务

-u  给指定用户创建计划任务,不指定则为当前用户

-i  删除计划任务前提示用户yes或no

实例:

给当前用户创建计划任务,每周1、3-5的每隔2小时间执行'wall  hello'命令。

crontab  -e  添加如下内容

*  */2  *  *  1,3-5   wall  hello

格式说明:分  时  日  月  周  命令

黑名单:禁止使用crontab命令的用户名单

白名单:允许使用crontab命令的用户名单

crontab的黑名单:/etc/cron.deny   (默认存在)

crontab的白名单:/etc/cron.allow  (默认不存在)

注意:当存在白名单时,只允许白名单中的用户执行crontab命令创建计划任务,其他用户都是黑户。

了解crontab的日志文件内容:cat   /var/log/cron

说明:cron文件记录了用户创建、编辑、删除计划任务的操作,并且会记录计划执行的状态信息。

------------------------------------------------------------------------------------------

练习:用crontab  -e创建如下周期性计划任务。

1、每天的16:10、16:30、17:10、17:30执行wall  hello命令。

10,30 16,17 * * * wall hello

2、每周1、3、5的23:10、23:50执行service   network  restart命令。

10,50 23 * * 1,3,5 service network restart

3、每月的1、10、20号的22:10执行tar命令打包备份/etc目录为/opt/年-月-日.tar.gz文件。

10 22 1,10,20 * * /bin/tar -czf /opt/etc_$(date +%F).tar.gz /etc

-------------------------------------------------------------------------------------------------------------------------------

log日志文件(历史记录):记录什么时间、什么主机、什么用户、执行了什么任务。

日志文件的程序:rsyslog

查看syslog的帮助:man  syslog

日志服务的管理命令:

查看rsyslog软件的文件列表:rpm  -ql  rsyslog

查询rsyslog软件的配置文件:rpm  -qc  rsyslog

rsyslog的主配置文件:cat  /etc/rsyslog.conf

查看rsyslog.conf配置文件帮助:man  rsyslog.conf

rsyslog服务的运维管理命令:

重启服务:service  rsyslog   restart

停止服务:service  rsyslog   stop

查看状态:service rsyslog status

开机自动启动atd服务:chkconfig   rsyslog  on

查看atd服务开机设置状态:chkconfig  --list  rsyslog

注意:在互联网服务器上重要的系统服务和网络服务必须设置成开机启动。

rpm软件日志文件的目录:/var/log

常用日志文件:

boot.log   系统启动日志

cron  计划任务

secure  安全日志。记录用户的登录、创建、删除等信息

messages   消息日志,记录大多数系统服务的启动、停止信息

btmp记录登录失败的日志(bad)。是二进制文件,要用lastb命令查看。

wtmp记录所有用户的登录、注销信息。是二进制文件。用last查看。

lastlog记录系统中所有用户最后一次的登录时间。是二进制文件。用lastlog命令查看。

cups打印日志

http目录   Apache网站服务日志。

maillog  邮件系统日志

yum.log  yum的工作日志

yum history

yum history undo ID

yum history redo ID

dmesg    硬件设备信息

查看当前已登录的用户信息:who、w、whoami

查看当前终端号:tty

日志类型

下面是常见的日志类型,但并不是所有的Linux发行版都包含这些类型:

类型说明

auth用户认证时产生的日志,如login命令、su命令。

authpriv与 auth 类似,但是只能被特定用户查看。

console针对系统控制台的消息。

cron系统定期执行计划任务时产生的日志。

daemon某些守护进程产生的日志。

ftpFTP服务。

kern系统内核消息。

local0.local7由自定义程序使用。

lpr与打印机活动有关。

mail邮件日志。

mark产生时间戳。系统每隔一段时间向日志文件中输出当前时间,每行的格式类似于 May 26 11:17:09 rs2 -- MARK --,可以由此推断系统发生故障的大概时间。

news网络新闻传输协议(nntp)产生的消息。

ntp网络时间协议(ntp)产生的消息。

user用户进程。

uucpUUCP子系统。

日志优先级

说明:优先级越高记录的日志信息越少。

常见的日志优先级如下:

优先级说明

emerg紧急情况,系统不可用(例如系统崩溃),一般会通知所有用户。

alert报警,需要立即修复,例如系统数据库损坏。

crit危险情况,例如硬盘错误,可能会阻碍程序的部分功能。

err一般错误消息。

warning警告。

notice不是错误,但是可能需要处理。

info通用性消息,一般用来提供有用信息。

debug调试程序产生的信息。

none没有优先级,不记录任何日志消息。

rsyslog.conf文件内容的格式

日志文件的类型.等级        日志文件的路径

authpriv.*            /var/log/secure

cron.*                /var/log/cron

*.info;mail.none;authpriv.none;cron.none      /var/log/messages

第一列为日志类型和日志优先级的组合,每个类型和优先级的组合称为一个选择器;后面一列为保存日志的文件、服务器,或输出日志的终端。rsyslog 进程根据选择器决定如何操作日志。

对配置文件的几点说明:

日志类型和优先级由点号(.)分开,例如 kern.debug 表示由内核产生的调试信息。kern.debug 的优先级大于 debug。

星号(*)表示所有,例如 *.debug 表示所有类型的调试信息,kern.* 表示由内核产生的所有消息。

可以使用逗号(,)分隔多个日志类型,使用分号(;)分隔多个选择器。

B 信息等级的指定方式

1). xxx: 表示大于xxx级别的信息

2).=xxx:表示等于xxx级别的信息

3).!xxx:表示在xxx之外的等级的信息

----------------------

logrotated: -- 日志轮滚(也称为日志切割、日志轮替)机制的后台进程

ps  aux|grep  log

日志轮滚机制:当日志文件满足某个条件时,会重新生成一个新的日志文件。条件可以是文件大小、或天数。

查看/var/log目录的文件列表:ls  /var/log

------------------------------------------------------------------------------------

日志的轮替、日志的轮滚

为什么要轮滚?

1)防止日志文件过大

2)定期自动清除旧日志

rsyslog 软件的配置文件:

[root@localhost ~]# rpm -qc rsyslog

/etc/logrotate.d/syslog  系统日志轮替方案的配置文件

/etc/rsyslog.conf      系统日志的主配置文件

/etc/sysconfig/rsyslog

查询logrotate日志切割软件的相关文件:

查软件是否已安装:rpm  -q  logrotate

查所有文件列表:rpm  -ql  logrotate

查配置文件列表:rpm  -qc  logrotate

logrotate配置文件的功能(都是文本文件):

计划任务:/etc/cron.daily/logrotate

主配置文件:/etc/logrotate.conf       设置全局的日志轮滚策略

状态文件:/var/lib/logrotate.status

日志轮滚的配置文件(全局控制),也称为日志切割的策略文件:

# man  logrotate.conf    查看日志切割策略文件的帮助文档

# cat  /etc/logrotate.conf

# grep -nv ^# /etc/logrotate.conf | grep -v ^$

上一行grep命令的意思是显示不包含以#开头和^$空白行的内容。(下面下划线的红字是改过的)

Weekly     //轮滚的周期,一周一轮滚,还可以用daily、monthly、yearly等

rotate 4   //保留4个旧的日志文件,类似于备份

create     //旧日志轮滚后是否创建新的空白日志

#dateext//不使用日期作为旧日志的后缀,使用“数字”作为文件名的后缀

#compress//是否压缩旧日志文件

include  /etc/logrotate.d//包含该路径下的所有“日志切割策略”文件

/var/log/wtmp {    //针对特定的日志进行特定的切割策略设置

monthly       //轮滚周期,一个月

create 0664 root utmp   //创建新的日志文件  权限664 所有者root 所属组utmp

minsize 1M    //轮滚的最小大小是1M

rotate 2      //保留2个旧的日志文件,文件的总数是2个备份+1个新文件

}

/var/log/btmp {

missingok     //丢了也没关系(日志文件不存在时忽略,即不报错)

monthly     //每月轮替

create 0600 root utmp   //创建日志文件,并设置权限为0600,属主为root,属组为utmp

rotate 3   //轮滚3次,文件的总数是3个备份+1个新文件

}

临时测试轮滚策略(即方案)是否正确:

logrotate  -vf  /etc/logrotate.conf

ls  /var/log/    验证是否有以日期或数字为后缀的文件

说明:-v ---显示命令的执行过程    -f----指定日志切割策略文件

查看某个服务的日志是否轮滚

[root@server150 logrotate.d]# cat   /etc/logrotate.d/syslog

/var/log/cron

/var/log/maillog

/var/log/messages

/var/log/secure

/var/log/spooler

{

sharedscripts    //与endscript中间夹的是需要执行的操作

postrotate          //轮滚后执行的命令

/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true  //重新加载配置

endscript

}

------------------------------------------

小结:

系统日志的文件夹:/var/log

系统日志服务的主配置文件:/etc/rsyslog.conf

日志切割的主配置文件(也称为默认切割策略):/etc/logrotate.conf

其它的个性化切割策略的文件夹:/etc/logrotate.d

系统日志的切割策略文件:/etc/logrotate.d/syslog

查看切割命令的帮助文档:man  logrotate

查看切割主配置文件的帮助文档:man  logrotate.conf

测试切割策略:logrotate  -vf  /etc/logrotate.conf

日志轮替(即切割、轮滚)项目任务:在/var/log目录中创建一个名称为lol的文件,然后给lol文件创建切割策略,最后测试。

在/var/log目录中创建lol文件

创建lolk日志切割策略文件touch  /var/log/lol

vi  /etc/logrotate.d/lolk   切割策略如下

/var/log/lol {      日志文件的路径,以下为轮滚策略

missingok          lol文件不存在也不报错

daily              每天切割1次

create             创建新日志文件

rotate  3          最多生成3个备份文件

#compress         不启用压缩功能

}

警告:如果有3个日志文件a.log.1、a.log.2、a.log.3,其中a.log.3是最旧的一个文件。

轮滚日志文件名规则:

第1次:a.log---->a.log.1   之后touch  a.log

第2次:a.log--->a.log.1---->a.log.2    之后touch  a.log

第3次:a.log--->a.log.1---->a.log.2--->a.log.3    之后touch  a.log

linux打包日志时间,打包压缩_任务计划_日志相关推荐

  1. 【Block-Level Verification】 芯片开发通识_验证目标_ 验证语言_ 验证职业前景 _挑战和瓶颈_验证周期_功能描述文档_验证计划_回归测试_硅后测试_逃逸分析...

    SystemVerilog验证通识 1. 芯片开发概述 不同于通用电路,专用集成电路为了专门解决或者优化相关工程问题,例如专用算法的电路实现,如芯片里加入人工智能处理单元,为CPU\GPU减负,目的是 ...

  2. svn服务器记录日志文件,svn服务器日志时间设置

    svn服务器日志时间设置 内容精选 换一换 日志记录了运行环境的运行情况和功能流程的处理情况,是维护人员查看系统状态.进行问题定位的重要工具和手段.日志模块根据系统设置的日志级别,记录不同详细程度的内 ...

  3. linux把test目录打包,linux的基本操作(文件压缩与打包)

    文件的压缩与打包 在windows下我们接触最多的压缩文件就是.rar格式的了.但在linux下这样的格式是不能识别的,它有自己所特有的压缩工具.但有一种文件在windows和linux下都能使用那就 ...

  4. linux多个文件打包命令行,Linux下文档的压缩和打包命令

    首先要弄清两个概念:打包和压缩. 打包是指将一大堆文件或目录变成一个总的文件: 压缩则是将一个大的文件通过一些压缩算法变成一个小文件. 为什么要区分这两个概念呢?这源于Linux中很多压缩程序只能针对 ...

  5. linux中的文件夹压缩文件,linux将文件拷贝到目录下Linux下文件的压缩与打包详解...

    在Linux中,有很多的压缩命令.利用这些压缩命令,可以方便的从网络上下载大型的文件.同时,我们知道,Linux文件的扩展名是没有特殊意义的,不过,因为Linux下存在着许多压缩命令,所以为了方便记忆 ...

  6. linux命令:tar(打包、压缩、解压)

    一.tar命令语法 1.命令格式 tar[必要参数][选择参数][文件] 2.命令功能 用来压缩和解压文件.tar本身不具有压缩功能.他是调用压缩功能实现的. 3.命令参数 (1) 必要参数: 参数 ...

  7. Linux tar压缩命令:打包与解打包命令

    转载自http://c.biancheng.net/view/788.html ".tar"格式的打包和解打包都使用 tar 命令,区别只是选项不同.我们先看看 tar 命令的基本 ...

  8. Linux下文件的打包与压缩(tar命令)

    基本概念 打包是指将多个文件或目录打包成一个文件,压缩是指将一个大的文件通过算法压缩成一个小的文件.由于Linux中的很多压缩程序只能对一个文件进行,所以通常要先将全部文件打包成一个文件,然后再对那一 ...

  9. 四周第五次课(1月6日) 6.5 zip压缩工具 6.6 tar打包 6.7 打包并压缩

    四周第五次课(1月6日) 6.5 zip压缩工具 6.6 tar打包 6.7 打包并压缩 tar命令: 可以为linux的文件和目录创建档案.利用tar,可以为某一特定文件创建档案(备份文件),也可以 ...

最新文章

  1. fflush函数的深入理解
  2. 翻身的废鱼——论PHP从入门到放弃需要多久?15
  3. 程序员非常重要的24个软技能(开始我的博客之旅)
  4. Repeater控件最后一笔记录高亮显示
  5. java并发编程_Java并发编程之 synchronized
  6. 试图将驱动程序添加到存储区_Ubuntu 19.10IOS将捆绑NVIDIA驱动
  7. key可以重复的map集合:IdentityHashMap
  8. 切点方法的事务参数的配置
  9. 随想录(python第三方库中的 setup.py)
  10. php 7 中对数值 * 100 出现很多小数_PHP快速入门第二讲:数据类型
  11. 集群为什么最少6个_结构化面试答题技巧:多年的经验告诉你,最少要注意这6个方面...
  12. 深入 Composer autoload
  13. 申请百度云文字识别OCR
  14. 利用FlashPaper在web页面中显示PDF文件(兼容各浏览器)
  15. 带你理解JS中的Events事件
  16. 欲善其事,先利其器——青龙面板依赖安装教程
  17. STM32J-LINK下载教程
  18. 牛批,Ceph RBD 备份与恢复完全指南
  19. 8.1 结构体的定义和使用
  20. 计算机应用世界排名,全球计算机杂志排名

热门文章

  1. 普宁跨境电商外贸 阿里国际 之100%点击的开发信标题
  2. HTML实现网站欢迎页过渡
  3. 太赞了,用Java写了一个类QQ界面聊天小项目,可在线聊天(附源码)~
  4. 2022年,小家电向左or向右?
  5. 淮南市外观设计专利申请条件,简要说明要写哪些内容?
  6. 关于工作时间分配(二)
  7. 【深度学习】目标检测的性能评价指标,mAP_0.5,mAP_0.5,0.95,0.05
  8. 怎样选择好的海外服务器?
  9. 华为、TCL:十年工作感想
  10. 简单的内部时钟开关LED灯Verilog代码