Linux 日常整理

时间同步

the NTP socket is in use, exiting问题

1
2
3
4
5
6
7
8
[root@esx4 ~]# ntpdate ntp.api.bz
21 Sep 14:39:09 ntpdate[24744]: the NTP socket is in use, exiting

[root@esx4 ~]# service ntpd stop
Shutting down ntpd: [ OK ]

[root@esx4 ~]# ntpdate 0.debian.pool.ntp.org
21 Sep 15:22:43 ntpdate[25723]: step time server 114.80.81.1 offset 2312.159684 sec

同步crontab

1
echo "59 23 * * * /usr/sbin/ntpdate 0.debian.pool.ntp.org >> /var/log/time.log && hwclock --systohc 2>&1" >> /etc/crontab

磁盘

大于2T的分区

1
2
3
4
5
6
7
8
9
10
parted  /dev/sdb
mklabel gpt --建立gpt标签
mkpart primary 0% 100% (开始和终止位置)
print 查看结果
quit 退出

mkfs.ext4 /dev/sdb

mkdir /data
mount /dev/sdb /data

UUID

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@hadoop01-bj-a src]# blk
blkdeactivate blkdiscard blkid
[root@hadoop01-bj-a src]# blkid
/dev/vda1: UUID="976105f5-f402-456c-aadd-50de49ff88f9" TYPE="ext4"
/dev/vdb1: UUID="7f7dfded-4bbd-4a38-b823-1ddf904be9db" TYPE="ext4"
[root@hadoop01-bj-a src]# cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Thu Aug 17 07:38:21 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=976105f5-f402-456c-aadd-50de49ff88f9 / ext4 defaults 1 1
UUID=976105f5-f402-456c-aadd-50de49ff88f9 /opt ext4 defaults 0 0

JDK

1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/bash
cd /usr/src/ && tar -zxvf ./jre-8u191-linux-x64.tar.gz -C /usr/local
ln -s /usr/local/jdk1.8.0_91/ /usr/local/java
echo '
#JDK
############################################################
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH
############################################################
' >> /etc/profile
source /etc/profile
java -version

监控

1
2
3
4
5
6
7

cd /usr/src/ && wget 10.110.1.18/open-falcon-agnt.tar.gz && tar -xvf open-falcon-agnt.tar.gz -C /usr/local && chmod 755 /usr/local/open-falcon -R && cd /usr/local/open-falcon
./open-falcon start agent




name or service not known

配置jumpserver发邮件的时候提示name or service not known
检查发现能ping通smtp.exmail.qq.com,但是不知道为啥发不出邮件

使用以下命令,然后加入hosts文件,即可

查看文件编码

1
2
3
vim 

:set fileencoding

find

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#查找30天以前的文件
find . -name "*.png" -ctime +1

find -name april*                      在当前目录下查找以april开始的文件
find -name april* fprint file        在当前目录下查找以april开始的文件,并把结果输出到file中
find -name ap* -o -name may* 查找以ap或may开头的文件
find /mnt -name tom.txt -ftype vfat 在/mnt下查找名称为tom.txt且文件系统类型为vfat的文件
find /mnt -name t.txt ! -ftype vfat   在/mnt下查找名称为tom.txt且文件系统类型不为vfat的文件
find /tmp -name wa* -type l           在/tmp下查找名为wa开头且类型为符号链接的文件
find /home -mtime -2                 在/home下查最近两天内改动过的文件
find /home   -atime -1                  查1天之内被存取过的文件
find /home -mmin   +60                  在/home下查60分钟前改动过的文件
find /home -amin +30                  查最近30分钟前被存取过的文件
find /home -newer tmp.txt             在/home下查更新时间比tmp.txt近的文件或目录
find /home -anewer tmp.txt            在/home下查存取时间比tmp.txt近的文件或目录
find /home -used -2                  列出文件或目录被改动过之后,在2日内被存取过的文件或目录
find /home -user cnscn                列出/home目录内属于用户cnscn的文件或目录
find /home -uid +501                 列出/home目录内用户的识别码大于501的文件或目录
find /home -group cnscn              列出/home内组为cnscn的文件或目录
find /home -gid 501                   列出/home内组id为501的文件或目录
find /home -nouser                    列出/home内不属于本地用户的文件或目录
find /home -nogroup                   列出/home内不属于本地组的文件或目录
find /home   -name tmp.txt   -maxdepth 4 列出/home内的tmp.txt 查时深度最多为3层
find /home -name tmp.txt -mindepth 3 从第2层开始查
find /home -empty                     查找大小为0的文件或空目录
find /home -size +512k               查大于512k的文件
find /home -size -512k               查小于512k的文件
find /home -links +2                 查硬连接数大于2的文件或目录
find /home -perm 0700                查权限为700的文件或目录
find /tmp -name tmp.txt -exec cat {} /;
find /tmp -name tmp.txt -ok rm {} /;

find   / -amin   -10       # 查找在系统中最后10分钟访问的文件
find   / -atime -2         # 查找在系统中最后48小时访问的文件
find   / -empty              # 查找在系统中为空的文件或者文件夹
find   / -group cat        # 查找在系统中属于 groupcat的文件
find   / -mmin -5         # 查找在系统中最后5分钟里修改过的文件
find   / -mtime -1        #查找在系统中最后24小时里修改过的文件
find   / -nouser             #查找在系统中属于作废用户的文件
find   / -user   fred       #查找在系统中属于FRED这个用户的文件


-name filename             #查找名为filename的文件
-perm                       #按执行权限来查找
-user   username            #按文件属主来查找
-group groupname            #按组来查找
-mtime -n +n               #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime   -n +n              #按文件访问时间来查
-perm                        #按执行权限来查找
-user   username            #按文件属主来查找
-group groupname            #按组来查找
-mtime -n +n               #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime   -n +n              #按文件访问时间来查找文件,-n指n天以内,+n指n天以前
-ctime   -n +n              #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-nogroup                    #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser                     #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-newer f1 !f2              找文件,-n指n天以内,+n指n天以前
-ctime   -n +n              #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-nogroup                    #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser                     #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-newer f1 !f2              #查更改时间比f1新但比f2旧的文件
-type    b/d/c/p/l/f        #查是块设备、目录、字符设备、管道、符号链接、普通文件
-size     n[c]              #查长度为n块[或n字节]的文件
-depth                      #使查找在进入子目录前先行查找完本目录
-fstype                     #查更改时间比f1新但比f2旧的文件
-type    b/d/c/p/l/f        #查是块设备、目录、字符设备、管道、符号链接、普通文件
-size     n[c]              #查长度为n块[或n字节]的文件
-depth                      #使查找在进入子目录前先行查找完本目录
-fstype                     #查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到
-mount                      #查文件时不跨越文件系统mount点
-follow                     #如果遇到符号链接文件,就跟踪链接所指的文件
-cpio                   #查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到
-mount                      #查文件时不跨越文件系统mount点
-follow                     #如果遇到符号链接文件,就跟踪链接所指的文件
-cpio                       #对匹配的文件使用cpio命令,将他们备份到磁带设备中
-prune                      #忽略某个目录

日期

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 获取昨天 
date -d 'yesterday' # 或 date -d 'last day'
# 获取明天
date -d 'tomorrow' # 或 date -d 'next day'
# 获取上个月
date -d 'last month'
# 获取下个月
date -d 'next month'
# 获取上一年
date -d ’last year'
# 获取下一年
date -d 'next year'
此外你可以获取多天前,多天后,多个月前,多个月后,多年前或多年后


# 三年前
date -d '3 year ago'
# 五年后
date -d '-5 year ago'
# 两天后
date -d '-2 day ago'
# 一个月前
date -d '1 month ago'

sed

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#查找指定日期的内容
sed -n '/^2019-03-14/p' xxx.info.log > new.log

#删除指定行
sed -i '1,14430d' xx.info.log

#删除指定行,例如第5行
sed -i '5 d' test.txt

#删除首行
sed -i '1d' test.txt

#删除末行
sed -i '$d' test.txt

#删除空行
sed -i '/^$/d' test.txt

#剔除空格
sed -i 's/[ ]*//g' test.txt

#删除车符
sed -i 's/^M//g' test.txt

#删除指定字段的下一行
sed -i '/test/{n;d}' test.txt #匹配到test字段

#删除指定字段的上一行
sed -i -e :a -e '$!N;s/.*n(.*test)/1/;ta' -e 'P;d' test.txt #匹配到test字段

CentOS的启动出错:

当执行 ifup ens33

出现错误:Error:Connection activation failed: No suitable device found for this connection

解决办法:

1
2
3
4
5
chkconfig NetworkManager off
chkconfig network on
service NetworkManager stop
service network start

切割大文件

1
2
split -b 100m 1111.log (按照字节分隔)
split -l 1000000 1111.log(按照行数分隔)

journalctl日志文件清理

1
2
journalctl --disk-usage
Journals take up 3.8G on disk.

手动删除

1
2
journalctl --vacuum-time=7d
journalctl --vacuum-size=1024M

控制目录大小

1
2
/etc/systemd/journald.conf
SystemMaxUse=1G

如果不生效,重启该服务

1
systemctl kill --kill-who=main --signal=SIGUSR2 systemd-journald.service

校验是否正常

1
journalctl --verify

安装pip

1
2
3
yum -y install epel-release

yum -y install python-pip

Nginx 代理

作用:给爬虫服务器做代理服务器

遇到的问题:访问部分机器的时候出现少量504错误

解决:

1
2
fastcgi_buffers 8 128k;
send_timeout 60;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52


#user nobody;
worker_processes auto;

#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;

#pid logs/nginx.pid;


events {
worker_connections 65535;
}


http {
include mime.types;
default_type application/octet-stream;

#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';

#access_log logs/access.log main;

sendfile on;
#tcp_nopush on;

#keepalive_timeout 0;
keepalive_timeout 65;
fastcgi_buffers 8 128k;
send_timeout 60;
gzip on;

server{
listen 2019;
resolver 100.100.2.136;
proxy_connect;
proxy_connect_allow 443 563;
proxy_connect_connect_timeout 10s;
proxy_connect_read_timeout 10s;
proxy_connect_send_timeout 10s;
location / {
proxy_set_header Host $host;
proxy_pass http://$http_host$request_uri;
}
}

}

初试化

1
2
3
4
5
chown root:root /etc/passwd /etc/shadow /etc/group /etc/gshadow
chmod 0644 /etc/group
chmod 0644 /etc/passwd
chmod 0400 /etc/shadow
chmod 0400 /etc/gshadow