【转】Linux中常见问题(磁盘 定时任务)

第1章 linux无法上网

1)     第一步,先ping域名.

ping www.baidu.com

2)再ping一个公网ip ,

ping 223.5.5.5/223.6.6.6/114.114.114.114

[root@znix /]# ping 223.5.5.5

PING 223.5.5.5 (223.5.5.5) 56(84) bytes of data.

64 bytes from 223.5.5.5: icmp_seq=1 ttl=128 time=42.8 ms

2)     ping 默认的网关

[root@znix ~]# route -n

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

10.0.0.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0

169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0

0.0.0.0         10.0.0.2        0.0.0.0         UG    0      0        0 eth0

第2章 系统的负载/cpu/内存太高了

1)     使用top 命令查看哪个进程占用cpu/内存多.

[root@znix /]# top

top - 15:29:37 up 4 days, 23:18,  4 users,  load average: 0.00, 0.00, 0.00

Tasks:  92 total,   1 running,  91 sleeping,   0 stopped,   0 zombie

Cpu(s):  0.3%us,  0.3%sy,  0.0%ni, 99.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st

Mem:    485984k total,   215144k used,   270840k free,   117300k buffers

Swap:   786428k total,     8664k used,   777764k free,    20700k cached

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND

16949 root      20   0  102m 4628 3572 S  0.0  1.0   0:00.14 sshd

17064 root      20   0  102m 4608 3568 S  0.0  0.9   0:00.06 sshd

16812 root      20   0  102m 2604 2400 S  0.0  0.5   0:00.84 sshd

2)     找出对应程序的pid号码

a)       找到占用率较高的程序

16949 root      20   0  102m 4628 3572 S  0.0  1.0   0:00.14 sshd

3)     strace -p  进程的pid号码

a)       查看现在这个进程正在做什么事情.

[root@znix /]# strace -p 16949

Process 16949 attached

select(10, [3 5 9], [], NULL, NULL

第3章 定时任务

3.1 每分钟显示当前系统的日期 年-月-日_小时 ,把这个时间追加到 /tmp/date.log

3.1.1 .先运行命令

运行命令进行测试,确定命令可以执行.

[root@znix ~]# date +%F_%H >> /tmp/date.log

[root@znix ~]# cat /tmp/date.log

2017-09-08_09

3.1.2 命令放入脚本中

[root@znix scripts]# cat /server/scripts/date.sh

date +%F_%H:%M >> /tmp/date.log

3.1.3 测试脚本

[root@znix scripts]# /bin/sh /server/scripts/date.sh

[root@znix scripts]# tail -1 /tmp/date.log

2017-09-08_09:43

3.1.4 写到定时任务

[root@znix scripts]# crontab -l |tail -2

#print time to file by hou 20170908

* * * * * /bin/sh /server/scripts/date.sh  >/dev/null 2>&1

3.1.5 查看你定时任务的执行日历

[root@znix scripts]# tail -2 /var/log/cron

Sep  8 09:53:41 znix crontab[16396]: (root) LIST (root)

Sep  8 09:54:01 znix CROND[16400]: (root) CMD (/bin/sh /server/scripts/date.sh  >/dev/null 2>&1)

3.1.6 检查结果

[root@znix ~]# cat /tmp/date.log

2017-09-08_09

3.2 命令中的sh与bash

[root@znix ~]# ll /bin/sh /bin/bash

-rwxr-xr-x. 1 root root 942200 Mar 23 08:15 /bin/bash

lrwxrwxrwx. 1 root root      4 Aug 10 18:34 /bin/sh -> bash

第4章 磁盘满了之邮件服务

4.1 系统中的邮件服务

centos 6.x 为postfix

centos 5.x 为sendmail

4.2 关闭系统邮件服务

[root@znix ~]# /etc/init.d/postfix

Usage: /etc/init.d/postfix {start|stop|restart|reload|abort|flush|check|status|condrestart}

[root@znix ~]# /etc/init.d/postfix stop

Shutting down postfix:                                     [  OK  ]

4.2.1 关闭邮件服务后,系统的油价会放入/var/spool/postfix/maildrop/

[root@znix ~]# ls /var/spool/postfix/maildrop/ |wc -l

12

4.3 [企业案例] 如果定时任务规则结尾不加>/dev/null 2>&1或者追加到文件中>>/tmp/clsn 2>&1,很容易导致硬盘inode空间被占满,从而系统服务不正常。

定时任务中-命令或脚本结果(正确及错误)定向到黑洞(>/dev/null 2>&1)或追加到文件中 >>/tmp/clsn.txt 2>&1.

实例4-1 情况一:

邮件服务关闭 没有定向到空,会导致 /var/spool/postfix/maildrop/ 中有许多小文件

造成磁盘满了,即inode满了.

解决办法:将邮件服务打开就会释放inode.

[root@znix /]# /etc/init.d/postfix start

Starting postfix:                                          [  OK  ]

[root@znix /]# chkconfig |grep post

postfix        0:off   1:off   2:on    3:on    4:on    5:on    6:off

实例4-2 情况二:

邮件服务开启/var/spool/cron/root会变大,发的邮件都会存到文件中,时间长了会将

解决办法:定向到空即可

>/dev/null 2>&1

4.4 两种输出重定向

>/dev/null  2>&1

把正确的和错误的都放在 /dev/null(黑洞,一去不复返)

>>/tmp/clsn.txt   2>&1

把正确的和错误的都放在/tmp/clsn.txt

4.5 书写定时任务要将内容输出重定向

如果定时任务规则结尾不加>/dev/null 2>&1或者追加到文件中>>/tmp/clsn 2>&1,很容易导致硬盘inode空间被占满,从而系统服务不正常。

4.6 创建和删除大量小文件的方法

4.6.1 删除小文件的方法

1)大量的小文件

[root@znix tmp]# ls |xargs rm

2)删除文件所在的目录 (权限、所有者、属组)

3)临时开启邮件服务 (只对/var/spool/postfix/maildrop 这个目录下的小文件)

4.6.2 创建小文件的方法

[root@znix tmp]# echo {1..400000}|xargs touch

[root@znix tmp]# ll -hd  tmp/

drwxr-xr-x 2 root root 8.4M Sep  8 10:59 tmp/

4.7 管道与|xargs 区别:

| 传递的是文本

|xargs 后面的命令会任务传递过来的是文件

4.8 定时任务的位置

1.在用户的定时任务中,默认存放在当前用户的家目录下

2.系统的定时任务存放在根下

第5章 练习题--定时任务

5.1 在定时任务中的环境变量

定时任务中,只能识别两个位置的变量,使用其他位置命令的时候可以使用绝对路径,也可以添加环境变量.

/usr/bin

/bin

添加环境变量,直接写在定时任务的开始即可.可以将自己使用到的命令位置都添加上.

export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

5.2 每分钟显示当前的系统的ip地址还有系统日期date +%F 追加到文件中/tmp/ip.log

5.2.1 先测试一下命令

保证命令是执行没有错误的.

[root@znix /]# date +%F

2017-09-08

[root@znix /]# /sbin/ifconfig  eth0 |awk -F "[ :]+" 'NR==2 {print $4}'

10.0.0.201

5.2.2 将命令放入脚本

[root@znix ~]# cat /server/scripts/ip.sh

date +%F

/sbin/ifconfig  eth0 |awk -F "[ :]+" 'NR==2 {print $4}'

5.2.3 书写定时任务

[root@znix ~]# crontab -l |tail -2

#print ip & date

* * * * * /bin/sh /server/scripts/ip.sh  >/tmp/ip.sh 2>&1

5.2.4 检查执行结果

[root@znix tmp]# tail -f /tmp/ip.log

2017-09-08

10.0.0.201

5.3 每隔 2 个小时将/etc/services 文件打包备份到/tmp下(最每次备份成不同的备份包)。

5.3.1 测试命令是否正确

[root@znix ~]# cd / && /bin/tar zcf /tmp/ser_`date +%F_%H`.tar.gz  etc/services

[root@znix /]# ll tmp/ser_2017-09-08_1*

-rw-r--r-- 1 root root 127314 Sep  8 16:15 tmp/ser_2017-09-08_16.tar.gz

5.3.2 写入脚本中

[root@znix ~]# cat /server/scripts/ser.sh

cd / && /bin/tar zcf /tmp/ser_`date +%F_%H`.tar.gz  etc/services

5.3.3 测试脚本

[root@znix /]# sh /server/scripts/ser.sh

[root@znix /]# ll tmp/ser_2017-09-08_1*

-rw-r--r-- 1 root root 127314 Sep  8 16:17 tmp/ser_2017-09-08_16.tar.gz

5.3.4 写入定时任务

[root@znix ~]# crontab -l |tail -2

##dabao /etc/services

00 */2 * * * /bin/sh /server/scripts/ser.sh >/dev/null 2>&1

5.3.5 检查结果

[root@znix /]# ll tmp/ser_2017-09-08_1*

-rw-r--r-- 1 root root 127314 Sep  8 11:59 tmp/ser_2017-09-08_11.tar.gz

-rw-r--r-- 1 root root 127314 Sep  8 12:11 tmp/ser_2017-09-08_12.tar.gz

-rw-r--r-- 1 root root 127314 Sep  8 16:17 tmp/ser_2017-09-08_16.tar.gz

5.4 每天晚上 12 点,打包站点目录/var/www/html  备份到/data 目录下(最好每次备份按时间生成不同的备份包)

5.4.1 测试命令

[root@znix /]# cd / && tar zcf /data/www_`date +%F`.tar.gz  var/www/html

[root@znix /]#  ll /data/www*

-rw-r--r-- 1 root root 117 Sep  8 16:21 /data/www_2017-09-08.tar.gz

5.4.2 写入测试脚本

[root@znix /]# cat /server/scripts/www.sh

cd / && tar zcf /data/www_`date +%F`.tar.gz  var/www/html

[root@znix /]#  ll /data/www*

-rw-r--r-- 1 root root 117 Sep  8 16:21 /data/www_2017-09-08.tar.gz

5.4.3 写入定时任务

[root@znix /]# crontab -l |tail -2

####dabao tar

00 00 * * * /bin/sh /server/scripts/www.sh >/dev/null 2>&1

5.4.4 检查执行结果

[root@znix /]# ll /data/www*

-rw-r--r-- 1 root root 117 Sep  8 16:28 /data/www_2017-09-08.tar.gz

【转】Linux中常见问题(磁盘 定时任务)的更多相关文章

  1. 如何在 Linux 中整理磁盘碎片

    有一个神话是 linux 的磁盘从来不需要整理碎片.在大多数情况下这是真的,大多数因为是使用的是优秀的日志文件系统(ext3.4等等)来处理文件系统.然而,在一些特殊情况下,碎片仍旧会产生.如果正巧发 ...

  2. linux中查看磁盘容量的常用操作

    linux中查看磁盘容量常用操作 实验室有GPU集群,用户跑数据时候跑着跑着会出现集群挂掉的问题,原因就是,在跑数据时,用户上传文件,数据集,系统产生缓存等一系列操作,消耗了集群空间,师兄让我清理下服 ...

  3. Linux中的磁盘

    Linux的磁盘管理 (很重要请注意高能预警) 硬盘:几个盘片,双面,磁性颗粒, 处理速率不同步:借助于一个中间层 文件系统(FileSystem)     可以实现对磁盘行的文件进行读写     文 ...

  4. Linux中常见问题(磁盘 定时任务)

    第1章 linux无法上网 1)     第一步,先ping域名. ping www.baidu.com 2)再ping一个公网ip , ping 223.5.5.5/223.6.6.6/114.11 ...

  5. linux中的磁盘的MBR记录详解

    在硬盘中,硬盘的0柱面0磁头第一个1扇区称为主引导扇区,也叫主引导记录-MBR(main boot record),其中MBR是以下三个部分组成 1.Bootloader,主引导程序---446个字节 ...

  6. VMware虚拟机Linux中增加磁盘空间的扩容操作

    VMwareware虚拟机安装的Red Hat Enterprise Linux系统剩余空间不足,造成软件无法正常安装.如果重新装一遍系统就需要重新配置好开发环境和软件的安装配置.结合自己的实践,总结 ...

  7. Linux中查看磁盘大小、文件大小、排序方法小结

    一,查看磁盘空间大小的命令:dfdf命令用于查看磁盘分区上的磁盘空间,包括使用了多少,还剩多少,默认单位是KB 比如以下命令: df -hl执行结果如下: 执行的结果每列的含义: 第一列Filesys ...

  8. Linux中的磁盘练习

    查看磁盘接口类型 ide dh[a-z] scsi sd[a-z] 添加磁盘 先添加一个磁盘 cd /dev/ ls sd* 可以看到先添加的磁盘 磁盘分区 .fdisk /dev/sdb n (添加 ...

  9. Linux中查看磁盘容量

    一.命令 df -hl 二.效果 [root@cq-test-master ambari]# df -hl Filesystem Size Used Avail Use% Mounted on /de ...

随机推荐

  1. BZOJ5298 [CQOI2018] 交错序列 | 矩阵乘法和一个trick

    题面 求所有长度为\(n\)的.没有相邻的1的01序列中,若0有\(x\)个.1有\(y\)个,\(x^ay^b\)之和(对\(m\)取模). \(n \le 10^7, m \le 10^8, 0 ...

  2. Sharepoint 性能之SQL Server内存设置

    In this article, let's understand the Minimum and Maximum server memory settings of SQL Server. The ...

  3. Shell基础知识(五)

    shell中同样有数组的概念,获取数组中的元素要使用下标[],并且下标的值必须大于等于0.数据的各项特性见下例: #!/bin/bash array1=(1 2 3 999) echo ${array ...

  4. AtCoder Grand Contest 004 C - AND Grid

    题意: 给出一张有紫色点的网格,构造一张红点网格和一张蓝点网格,使红蓝点的交集为紫色点. 保证网格四周没有紫色点. 构造一下,使蓝点和红点能够到每个点. #include<bits/stdc++ ...

  5. 【洛谷P1972】HH的项链 离线+树状数组

    题目大意:静态查询序列区间颜色数. 题解:对于一个查询区间 [l , r] ,若有两个相同颜色的点在这个区间中,则总是取下标靠近端点 r 的颜色计入答案贡献.对于每个下标,记录下在这个下标之前,且距离 ...

  6. ORACLE常用性能监控SQL

    Temp表空间上进程的查询 select a.tablespace, b.sid, b.serial#, a.blocks,c.sql_text from v$sort_usage a,v$sessi ...

  7. Vector 是线程安全的,是不是在多线程下操作Vector就可以不用加Synchronized

    如标题一样,如果之前让我回答,我会说,是的,在多线程的环境下操作Vector,不需要加Synchronized. 但是我今天无意间看到一篇文章,我才发现我之前的想法是错误的,这篇文章的地址: http ...

  8. Python数据挖掘课程

    [Python数据挖掘课程]一.安装Python及爬虫入门介绍[Python数据挖掘课程]二.Kmeans聚类数据分析及Anaconda介绍[Python数据挖掘课程]三.Kmeans聚类代码实现.作 ...

  9. springboot整合freemarker

    前后端分离现在越来越多,如何有效的使用springboot来整合我们的页面是一个很重要的问题. springboot整合freemarker有以下几个步骤,也总结下我所犯的错误: 1.加依赖: 2.配 ...

  10. 20190311 Windows安装ZooKeeper

    1. 说明 记录过程中踩过的坑 1.1. 环境 本机环境:Win10 ZooKeeper版本:3.4.6 2. 安装 2.1. 下载 官网下载网址 2.2. 修改配置文件 复制conf目录下的zoo_ ...