一、概要说明mysql
logrotate工具是为了方便进行日志管理而产生的一个工具,主要能够完成的工做包含:基于天、周、月、文件大小进行日志的滚动备份、压缩、删除甚至是发送邮件。linux
二、调用运行方式nginx
三、logrotate命令语法web
格式:logrotate [-dv][-f] [-s] config_file+sql
-v 显示详细信息centos
-d 开启调试模式,输出执行过程,可是不会对日志和logrotate的state文件产生操做后果安全
-f 忽略调用周期,强制执行logrotate服务器
-m 指定logrotate发送邮件的命令网络
-s 多个logrotate运行时,告知logrotate本身使用的state文件(/var/log/logrotate.status)工具
四、logrotate配置文件参数说明
daily 表示天天整理一次,其它可用值为‘weekly’、‘monthly’、‘yearly’
rotate 30 表示保留30份的备份文件
dateext 表示让旧日志文件以日期命名
compress\nocompress 表示使用压缩转储或不使用压缩转储,默认不适用
delaycompress 与compress一块儿使用,延时压缩,转储日志文件到下一次转储是才压缩
copytruncate 表示先复制log文件内容,而后在清空,用于无从新打开日志文件命令的状况。以Nginx为例,/usr/local/nginx/sbin/nginx -s reopen。可是其余的应用程序不必定遵循这样的约定,好比说MySQL是经过flush-logs来从新打开日志文件的。更有甚者,有些应用程序就压根没有提供相似的方法,此时若是想从新打开日志文件,就必须重启服务,但为了高可用性,这每每不能接受。还好Logrotate提供了一个名为copytruncate的指令,此方法采用的是先拷贝再清空的方式,整个过程当中日志文件的操做句柄没有发生改变,因此不须要通知应用程序从新打开日志文件,可是须要注意的是,在拷贝和清空之间有一个时间差,因此可能会丢失部分日志数据。
size 5M 日志文件大小增加到5MB再进行轮循。
notifempty 若是日志文件为空,轮循不会进行
missingok 在日志轮循期间,任何错误将被忽略,例如“文件没法找到”之类的错误。
postrotate\endscript 在转储之后执行命令,postrotate和endscript里面指定的命令将被执行。在这种状况下,rsyslogd 进程将当即再次读取其配置并继续运行。
五、nginx日志切割几个坑
postrotate
/usr/local/nginx/sbin/nginx -s reopen >/dev/null 2>&1
endscript
解决办法:给日志文件增长安全上下文 var_log_t:chcon -Rv --type=var_log_t /usr/local/nginx/logs/ #格式chcon -Rv --type=var_log_t 日志所在目录
概念:
第一步:编辑虚拟机,扩大磁盘容量500G。(vsphere6.5)
第二步:新建磁盘分区
一、查看现虚拟机磁盘分区状况
二、使用fdisk命令,新建分区sda3,用n命令建立一个P类型分区(主分区),而后用t命令更改类型为8e。
[root@*****~]# fdisk /dev/sda The number of cylinders for this disk is set to 39162. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) #输入n,新建分区 Command (m for help):n #输入P,主分区 Command action e extended p primary partition (1-4) p #目前是sda第三个分区输入3 Partition number (1-4): 3 #敲回车,默认就好了(若是要分多个分区,这儿就制定数值) First cylinder (39163-110960, default 39163): Using default value 39163 Last cylinder or +size or +sizeM or +sizeK (39163-110960, default 110960): Using default value 110960 #这里输入t Command (m for help): t #这里选择第三个分区 Partition number (1-4): 3 #指定分区的格式为8e (LVM) Hex code (type L to list codes): 8e Changed system type of partition 3 to 8e (Linux LVM) #输入p查看一下 Command (m for help): p Disk /dev/sda: 912.6 GB, 912680550400 bytes 255 heads, 63 sectors/track, 110960 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 13 104391 83 Linux /dev/sda2 14 39162 314464342+ 8e Linux LVM /dev/sda3 39163 110960 576717435 8e Linux LVM #这里输入w,保存退出 Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: (这里有个小报错,不用管它). The kernel still uses the old table. The new table will be used at the next reboot. Syncing disks. #重启使其生效 [root@***** ~]# reboot Broadcast message from root (pts/1) (Tue May 15 12:12:27 2012): The system is going down for reboot NOW! [root@***** ~]#
第三步,把新增分区加入到lvm卷组中
1. 查看卷组状况,能够看到当前只有一个卷组VolGroup00(此名称因系统而异);
[root@*****~]# vgs
/dev/hdc: open failed: 找不到介质
VG #PV #LV #SN Attr VSize VFree
VolGroup00 1 2 0 wz--n- 299.88G 0
2. 建立物理卷(LVM分区),并将物理卷加入到组里(VolGroup00);
[root@*****~]# mkfs.ext3 /dev/sda3 # 首先进行格式化,不然建立lvm分区会报错
[root@*****~]# lvm
lvm>pvcreate /dev/sda3 ##建立一个LVM硬分区
Physical volume "/dev/sda3" successfully created
lvm> vgextend VolGroup00 /dev/sda3 ##把此分区加入到与/根目录同一个LVM卷组
Volume group "VolGroup00" successfully extended
3.最后查看下当前卷组的各分区容量大小
第四步,扩展已有卷容量(挂载到"/"根目录)
1.扩容(#LogVol00是LV名称,可使用lvs命令查看)
2从新识别磁盘容量
[root@*****~]# resize2fs /dev/VolGroup00/LogVol00 #LogVol00是LV名称,可使用lvs命令查看
3.确认最终结果
[root@*****~]# fdisk -l
(新增一个磁盘添扩容到虚拟分区中,全程无需重启虚拟机)
一、vsphereWeb端,编辑虚拟机,新增磁盘设备。
二、登录虚拟机,刷新文件系统,更新新添加的硬盘信息。
此时查询并没有显示新添加的硬盘信息。
执行刷新操做 echo "- - -" > /sys/class/scsi_host/host2/scan
三、扩容逻辑卷vg和逻辑分区lv
直接写108.99是指直接扩容到108.99G,若是是+10G为添加10G。(本实践中方法一失败,因此使用的方法二)
刷新文件系统时,ext4文件系统使用resize2fs命令,xfs文件系统使用xfs_growfs命令
一、CLI控制台外经常使用维护命令
重启asterisk: service asterisk restart
重启服务器(或服务): reboot
进入asteriskCLI控制台: asterisk -r
进入asteriskCLI控制台而且显示更多调试信息: asterisk -rvvvv
不进入CLI控制台直接在linux下执行CLI控制台命令:asterisk -rx "sip show channels"
经常使用例子:# asterisk -rx "sip show peers like 507935"
二、CLI控制台经常使用命令
core restart gracefully #优雅重启
core restart now #当即重启
core show calls #显示当前通话统计,活跃数量和已处理数量
database show CF #查看无条件转移
database show CFB #查看忙转移
database show CFU #查看无应答转移
database show DND #查看免打扰的分机
三、手动释放吊死的通道
使用core show channels 找到疑似故障或有问题的号码通道
channel request hangup SIP/6001-00000001 挂断指定通道(SIP/6001-00000001)。
四、asterisk长时间运行日志清理(FreePBX 2.11.0.43)
大文件存在于如下两个文件夹里:
/var/lib/mysql/asteriskcdrdb #一些呼叫信令日志文件
/var/log/asterisk
1.背景
公司虚拟机运行环境为vsphere6.5平台,其中VSAN集群中一台HP服务器异常报错(后检查确认为磁盘阵列卡异常),致使虚拟机自动迁移.以下图:
故障解除后虚拟机迁移完成后开机,报错(推测是迁移时有文件损坏)如图:
2.解决方案
按照系统提示,输入root用户的密码,进入命令行
(1) 输入命令,查找root所在分区是多少(若是使用虚拟分区的话,我这个没有虚拟分区,直接就用/dev/sda2):
mount | grep “on /”
根据结果找到错误文件所在分区,根据错误显示个人是/dev/sda2
备注:root分区只是其中一个,有时候,咱们对Linux系统进行了多个分区,好比home在一个单独的分区,也要对其进行修复
(2)而后用命令fsck修复
fsck -y /dev/XXX
注:-y 选项指定检测每一个文件是自动输入yes,xxx表示root分区的路径
我上面是/dev/sda2 . 执行后结尾显示
(3)reboot重启ok
一、问题背景,公司zabbix3.4升级至4.4,根据官方手册步骤,首先安装官方yun源。而后使用yum upgrade,两条命令详情以下:
# rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm
# yum upgrade zabbix-server-mysql zabbix-web-mysql zabbix-agent
二、使用yum upgrade命令更新时提示网络错误,以下图所示:
三、解决方法
此问题缘由为国外网址被拦截,或网络震荡引发
(1)更换主yum源为阿里源,centos7使用命令:wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo ;或下载后替换
(2)更换zabbix源为阿里云源,以下图: