查看http的并发请求数与其TCP连接状态
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
{++S[$NF]统计每行最后一个出现的次数,至少一次,放入数组中$NF的意思就是打印最后一行
END前面是把最后一个字段+1放到数组S中,END是把数组打印出来,
关联数组的key是最后一个字段的值,value都是1(因为默认值是0,++后是1)
查看当前系统每个ip的连接数
ESTABLISHED:正常数据传输状态
CLOSED:无连接是活动 的或正在进行
TIME_WAIT:另一边已初始化一个释放
查看当前系统每个IP的连接数
netstat -n | awk '/^tcp/ {print $5}'| awk -F: '{print $1}' | sort | uniq -c |sort -rn
sort:排序并输出
uniq:去重复行
用tcpdump嗅探80端口的访问看看谁最高
tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr |head -20
结果:
1000 packets captured
1002 packets received by filter
0 packets dropped by kernel
1000 IP 192.168.1.103
#查看网站并发连接数
netstat -nat|grep ESTABLISHED|wc –l
查询访问IP总量
awk '{print $1}' /var/log/nginx/access.log|sort|uniq -c|sort -nr |wc -l
查询访问量前10的ip
awk '{print $1}' /var/log/nginx/access.log|sort|uniq -c|sort -nr |head -10
PV访问量(Page View),即页面访问量,每打开一次页面PV计数+1,刷新页面也是
IP访问数指公网IP访问数
UV访问数(Unique Visitor)指独立访客访问数,一台电脑终端为一个访客
在/test目录中查找包括ibm内容的文件
ls /test |xargs grep -ri "ibm"
打印nginx.conf的行号和内容
cat -n /etc/nginx.conf
替换文件内容
vim /test/test.txt
:% s/b/a/g
sed -i 's/a/bb/g' test.txt
linux如果挂载wind共享目录
mount -t cifs -o usernam=账户名,password=密码 //ip/目录 挂载目录
shell下32位随机密码生成
cat /dev/urandom | head -1 | md5sum | head -c 32 >> /pass
写一个脚本查找最后创建时间是3天前,后缀是*.log的文件并删除
find / -name "*.log" -ctime +3 -exec rm -f {} ;
写一个脚本将某目录下大于100K的文件移动至/tmp
#!/bin/bash
for file in `ls /root`
do
if [ -f $file ];then
if [ `ls -l $file|awk '{print $5}'` -gt 100000 ];then
mv $file /test/
fi
fi
done
如何查看二进制文件
hexdump
在当前目录把包含xx内容的文件找出,并提取出规定三个内容,并把指定的一个内容改成要求的格式(提示:先替换分隔符)
ls /test |xargs grep -ri "aa" |awk '{print $1,$2,$3,$4,$5}
MySQL误操作后快速恢复数据的方法
https://www.jb51.net/article/99941.htm
https://www.cnblogs.com/kevingrace/p/5904800.html
mysql一主多从,主库宕机如何合理切换从库,其他从库如何处理
https://blog.csdn.net/yabingshi_tech/article/details/51286073
http://blog.51cto.com/ucode/1747078
查看http的并发请求数与其TCP连接状态
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
{++S[$NF] 统计每行最后一个出现的次数,至少一次,放入数组中$NF的意思就是打印最后一行
END前面是把最后一个字段+1放到数组S中,END是把数组打印出来, 关联数组的key是最后一个字段的值,value都是1(因为默认值是0,++后是1)
查询访问量前10的IP地址
awk '{print $1}' /var/log/nginx/access.log|sort|uniq -c|sort -nr|head –10
sort 将文件进行排序-n:依照数值的大小排序 ,-r:以相反的顺序来排序;
例子:sort error.log |uniq -c |sort -rn >> cuowu.txt #对文本行按重复次数进行排序,分析日志用
-b:忽略每行前面开始出的空格字符; -c:检查文件是否已经按照顺序排序; -d:排序时,处理英文字母、数字及空格字符外,忽略其他的字符; -f:排序时,将小写字母视为大写字母; -i:排序时,除了040至176之间的ASCII字符外,忽略其他的字符; -m:将几个排序号的文件进行合并; -M:将前面3个字母依照月份的缩写进行排序; -n:依照数值的大小排序; -o<输出文件>:将排序后的结果存入制定的文件; -r:以相反的顺序来排序; -t<分隔字符>:指定排序时所用的栏位分隔字符; +<起始栏位>-<结束栏位>:以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
uniq 去重 -c在每列旁边显示该行的重复次数
-c或——count:在每列旁边显示该行重复出现的次数; -d或--repeated:仅显示重复出现的行列; -f<栏位>或--skip-fields=<栏位>:忽略比较指定的栏位; -s<字符位置>或--skip-chars=<字符位置>:忽略比较指定的字符; -u或——unique:仅显示出一次的行列; -w<字符位置>或--check-chars=<字符位置>:指定要比较的字符。
ls |xargs du -h|sort -rn |head -20 #列出当前目录使用量,并按大小排序,#不递归下级目录使用du –sh
xargs用作替换工具,读取输入数据重新格式化后输出
ll -hS #列出当前目录文件并按大小排序
mysqldump -h 172.26.100.145 -uroot -proot test >/home/testbackup.sql 备份远程test数据库到本地
如果要备份本地mysql库到远程服务器,就先备份到本地在拷贝过远程服务器或者挂载远程服务器某目录
mysqldump -uroot -p123456 --opt --all-databases >all-data.sql #备份所有库
mysql -uroot -pqwer1234 < /bak/mysqlbak/2018031711-all.sql #还原
#本地文件复制到远程服务器,如果要复制目录 scp –r
scp –r /www/ root@121.201.66.149:/opt/
#复制远程服务器目录到本地
scp -r root@121.201.66.38:/www/ /opt/
#查找并删除七天以前的数据
find /opt/db_bak/ -name "*.sql" -type f -mtime +7 -exec rm {} ; > /dev/null 2>&1
#查找前48~24小时修改过的文件。而不是48小时以内修改过的文件
find /opt/db_bak/ -name "*.sql" -type f -mtime 1
find /opt -type f -size 0 -exec rm -rf {} ; #删除空文件
nethogs #监控每个进程的网络带宽占用
iftop #动态查看网卡流量
dstat 3 5 #执行5次,每次间隔3秒性能监控器-dstat
#看进程号为18842的进程打开了哪些文件
ps -ef |grep nginx
lsof -p 1859
lsof 可以列出被进程所打开的文件的信息
nginx/sbin/nginx -V #查看nginx有哪些模块
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf #nginx指定配置文件启动
ps aux --sort=rss |sort -k 6 –rn #以内存大小排序列出进程
grep -Ev "#|^$" xx.conf #查看文件排除以#开关和空白行,适合查看配置文件
sed '/#.*$/d; /^ *$/d' #查看文件排除以#开关和空白行,适合查看配置文件
grep –r –l 内容 路径 #查找包含某些内容的文件
#查找文件中包含error的内容并显示出来 -A 1是同时显示下行内容 -e选项是或者的意思,也就是多条件
grep -e "error" -A 1 /var/log/nginx/access.log
egrep -v "^#|^$" xx.conf #查看文件排除以#开关和空白行,适合查看配置文件
pgrep nginx|xargs kill #查找进程pid并kill
ifconfig |awk -F"[ ]+|[:]" 'NR==2 {print $4}' 获取当前IP地址,强大的awk
utmpdump /var/log/wtmp #文本方式查看wtmp日志(二进制文件)
find /home/ -user prj -exec cp -a {} /opt/ ; #查找prj用户所拥有的文件,并放到/opt/下
mii-tool eth0 #查看eth0物理连接状态
service --status-all #查看已安装所有服务包括已运行和未运行的服务
ping -L 源IP -c 目标ip #指定源IP ping
dirs #打印出当前的目录栈,也就是显示最近访问过的目录
清除缓存
echo 1 > /proc/sys/vm/drop_caches
echo 2 > /proc/sys/vm/drop_caches
echo 3 > /proc/sys/vm/drop_caches
查询访问量前10的url
cat /var/log/nginx/access.log |cut -f 6 -d ' '|sort |uniq -c |sort -k 1 -n -r |head -10
查询最耗时的页面
cat /var/log/nginx/access.log |sort -k 4 -n -r |head –10
cat /proc/sys/kernel/threads-max #查看进程的总数,包括未运行的?
#查看已运行的进程总数
ps -ef |wc -l
ps -ef|grep php-fpm|wc -l
ps -ef|grep nginx|wc -l
ps -ef|grep java|wc –l
pkill -KILL -t pts/0 #踢出登录的用户,用who查看终端
mysql --help | grep Distrib #查看mysql版本
ln -s /usr/local/mysql/bin/* /usr/local/bin/ #编译安装mysql后无法执行mysql等命令,把命令连接到系统默认的路径,路径可能好几个
crontab -l #查看计划任务列表
pgrep nginx #查看服务进程号
top -id 1 #观察是否有异常进程出现
setfacl -m u:natasha:rwx fstab #单独设置用户权限,而不影响其他用户权限
getfacl fstab #验证权限
数据备份还原:
压缩:
tar czvf /opt/http.tar.gz /var/log/httpd/ #压缩备份,备份的包含了路径去除了/
解压
tar zxvf /opt/http.tar.gz -C / #还原直接到/就可以了,因为备份时/下还有var/log路径
临时解决DOS攻击-封IP
iptables -I INPUT -s 91.121.80.20 -j DROP
SSH免密登录:
配置ssh免秘钥后用scp不需要密码
1. 在服务器 A 上执行如下命令来生成配对密钥:
ssh-keygen -t rsa (后面全部按回车)
2. 将 /root/.ssh/ 目录中的 id_rsa.pub 文件复制到 服务器 B 的 /root/.ssh/ 目录中,并改名为 authorized_keys。 如果已经存在就把内容在末尾添加
scp /root/.ssh/id_rsa.pub root@192.168.24.150:/root/.ssh/authorized_keys
以后从服务器 A scp 到服务器 B 就不需要密码了(如果没有/root/.ssh/是因为没执行ssh-keygen -t rsa 生成秘钥命令)
yum install openssh-clients -y #scp软件包
tac命令用于将文件已行为单位的反序输出,即第一行最后显示,最后一行先显示,与cat相反的命令
awk -v 选项,指定在任何输入被读入前定义参数
#正常联网情况下直接对网络地址(注意前提是ntpd服务要启动)
echo '*/15 * * * * /usr/sbin/ntpdate -u 210.72.145.44 ' >> /var/spool/cron/root
/var/spool/cron/root #计划任务配置文件
凌晨三点 00 03 * * *
每五分钟执行 */5 * * * *
每小时执行 0 * * * *
每天执行 0 0 * * *
每周执行 0 0 * * 0
每月执行 0 0 1 * *
每年执行 0 0 1 1 *
在zabbix服务上设置邮件报警外部SMTP模式:
#vim /etc/mail.rc #尾部追加smtp验证信息
set from=pengrongjiana@163.com smtp=smtp.163.com
set smtp-auth-user=pengrongjiana@163.com smtp-auth-password=qwer1234
set smtp-auth=login
#设置完成之后发送一个测试邮件,收到邮件表示配置成功
echo "发现短时间内大量访问的ip"|mail -s "网站访问警告" 623181912@qq.com
如果没有/etc/mail.rc文件,则需要yum install -y mailx
tcp wrappers 访问控制
vim /etc/hosts.allow #仅允许199.150和199.55ssh连接
sshd:192.168.199.150,192.168.199.55
vim /etc/hosts.deny
sshd:all
linux命令累积>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
w ##查看已登录的用户
last #查看用户登录日志
lsof -i :22 #查看22端口被哪个IP进程占用和已建立连接的客户端
lsof /bin/bash #查看谁正在使用某个文件
#查看php-fpm的地址
whereis php-fpm
启动php-fpm
rpm -ql httpd #服务详细路径
tar zcvf - httpd/ | ssh root@10.0.0.10 tar xzf - -C /root SSH快速备份文件到另一服务器
echo -e 处理特殊字符,而不会将它当成一般文字输出,如 echo -e `cat access_log`
/etc/profile #所有系统用户登录执行
hash #记录了已执行过的命令的完整路径
grep –e “内容” *.html / #找到根目录下以.html结尾的文件中含有“内容”的行并显示它们
df -hT
uptime
free -m
ls | xargs rm #目录中大量文件删除
linux netstat 用不了,安装net-tools即可: yum -y install net-tools
生成SSH证书并复制到远端服务器# 好像不行
ssh-keygen -y -f ~/.ssh/id_rsa && cat ~/.ssh/id_rsa.pub | ssh root@192.168.193.129 "cat - >> ~/.ssh/authorized_keys"
sed '/^$/d' filename #删除空行
sed 's/ //g' filename #删除空格
sed -i 's/#.*$//g' filename #删除#后的注释
cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1 # 生成随机字符
行首或行尾插入:
sed 's/^/new/g' file
sed 's/$/new/g' file
wget -r -p -np -k http://www.jb51.net #用wget下载整站
cat filename |awk -F '' '{if(NF>6) print $0}' #查找每行大于几位数的数据:
lynx -dump www.jb51.net #获取HTML页面文本内容包含页面的URL
links -dump www.jb51.net #获取HTML页面文本内容 对中文内容支持不好
socat TCP4-LISTEN:1234,reuseaddr,fork, TCP4:www.baidu.com:80 端口重定向
rpm -qpl xxxxxx.rpm #安装包默认安装位置
who -b #查看最后一次系统启动的时间
last reboot #查看Linux系统历史启动的时间
diff #输出为了两个文件修改后的内容
cfdisk /dev/sdb #图像分区(2T以下)
parted /dev/sdb #大容量存储分区
blkid #列出所有分区的UUID
ls -l /dev/disk/by-uuid/ #列出所有分区的UUID和分区名称
#开始进入扫描、修复文件系统,注意:在单用户模式(init 1)、修复模式或把设备umount后进行修复
fsck.ext4 -y /dev/sdb
ethtool -p ethX #执行网卡灯亮,多网卡是用来判断网卡位置
lsusb #查看USB设备, -v看详细信息
more /proc/cpuinfo |grep -i model #查看CPU型号
more /proc/scsi/scsi |grep -i model #查看硬盘型号
nmcli con |sed -n '1,2p' #获取网卡UUID
more /etc/udev/rules.d/70-persistent-net.rules #查看网卡MAC地址,ifcofig也行
chmod -R +x 目录 #目录和目录下子目录权限+执行
/root/.bash_profile #配置单用户登录后执行
env #列出当前终端上的全部环境变量
lsmod #列出加载的内核模块
modprobe dm-multipath #加载模块
cat /proc/partitions #查看所有分
blkid #列出所有分区的UUID
ls -l /dev/disk/by-uuid/ #列出所有分区的UUID和分区名称
ntp服务器配置同步系统时间>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
#正常联网情况下直接对网络地址
echo '*/15 * * * * /usr/sbin/ntpdate 地址' >> /var/spool/cron/root
设置本地ntp时间服务器/etc/ntp.conf
1.则将“restrict default kod nomodify notrap nopeer noquery”这行修改成:
restrict default nomodify
2.如果需要使用本地时间,则把erver 0.centos.pool.ntp.org iburst把这几行同步互联网的
删掉或者用“#”号注释掉,然后添加以下两行:(注意:相反不添加这两行,直接使用上面的连接互联网,客户端就更新不了)
server 127.127.1.0
fudge 127.127.1.0 stratum 10
3.重启ntpd服务,设置开机启动ntpd服务 #注意客户端不启动ntpd也行
客户端连接ntp时间服务器,并加入计划任务
ntpdate 192.168.199.23 #不要频繁执行连接
echo '*/15 * * * * /usr/sbin/ntpdate 192.168.199.23' >> /var/spool/cron/root
客户端设置:
ntpdate 192.168.199.23
加入计划任务
如果本地时间和硬件时间都不对。需要手动设置后重启也生效:
1.date #查看本地时间
2.hwclock --show #查看机器上的硬件时间
3.date -s "2017-12-27 16:48" #一次性设置时间
4.hwclock -w #写入 BIOS 时间,系统重启后会读取BIOS,clock -w也可以
clock -w #把系统时间写入CMOS
vi /etc/sysconfig/ntpd
SYNC_HWCLOCK=yes #将同步好的时间写到CMOS里
ntpq -p #检查时间服务器同步的状态
clock --utc #显示UTC时间
同步互联网时钟并写入硬件bios:
使用以下方式同步LFS系统时间,cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 修改时区为上海
ntpdate cn.pool.ntp.org;hwclock -w ,同步时间并写入bios硬件时间;
设置计划任务,确保时间得到更新,crontab -e.添加以下内容:
0 * * * * /usr/sbin/ntpdate cn.pool.ntp.org;hwclock -w
/usr/sbin/ntpdate time.nist.gov #同步互联网时间,如果没互联网就同步硬件时钟,如果服务器较多就配置一台ntp时间服务器
系统负载>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
top -id 1 #观察是否有异常进程出现
三行:cpu状态
6.7% us — 用户空间占用CPU的百分比。
0.4% sy — 内核空间占用CPU的百分比。
0.0% ni — 改变过优先级的进程占用CPU的百分比
92.9% id — 空闲CPU百分比
0.0% wa — IO等待占用CPU的百分比
0.0% hi — 硬中断(Hardware IRQ)占用CPU的百分比
0.0% si — 软中断(Software Interrupts)占用CPU的百分比
0.0% st - 是当 hypervisor 服务另一个虚拟处理器的时候,虚拟 CPU 等待实际 CPU 的时间的百分比。
top默认的排序列是“%CPU”,按键盘数字“1”,可监控每个逻辑CPU的状况
敲击键盘“b”(打开/关闭加亮效果)
通过”shift + >按照%MEM来排序
敲击“f”键,top进入另一个视图,在这里可以编排基本视图中的显示字段,想显示哪个字段就按什么,比如显示SWAP就按前面的p字母
PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR — 共享内存大小,单位kb
S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计,单位1/100秒
COMMAND — 进程名称(命令名/命令行)
mpstat #查看CPU使用率
系统负载>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
ps aux | wc -l #进程总数检查进程个数是否正常 (比如超过250,比如单个服务的进程数ps -ef |grep httpd|wc -l
-a 显示一个终端的所有进程,除了会话引线
-u uid or username 选择有效的用户id或者是用户名
-x 显示没有控制终端的进程,同时显示各个命令的具体路径
USER 用户名
UID 用户ID(User ID)
PID 进程ID(Process ID)
PPID 父进程的进程ID(Parent Process id)
SID 会话ID(Session id)
%CPU 进程的cpu占用率
%MEM 进程的内存占用率
VSZ 进程所使用的虚存的大小(Virtual Size)
RSS 进程使用的驻留集大小或者是实际内存的大小,Kbytes字节。
TTY 与进程关联的终端(tty)
STAT 进程的状态:进程状态使用字符表示的(STAT的状态码)
R 运行 Runnable (on run queue) 正在运行或在运行队列中等待。
S 睡眠 Sleeping 休眠中, 受阻, 在等待某个条件的形成或接受到信号。
I 空闲 Idle
Z 僵死 Zombie(a defunct process) 进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放。
D 不可中断 Uninterruptible sleep (ususally IO) 收到信号不唤醒和不可运行, 进程必须等待直到有中断发生。
T 终止 Terminate 进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行。
P 等待交换页
W 无驻留页 has no resident pages 没有足够的记忆体分页可分配。
X 死掉的进程
< 高优先级进程 高优先序的进程
N 低优先 级进程 低优先序的进程
L 内存锁页 Lock 有记忆体分页分配并缩在记忆体内
s 进程的领导者(在它之下有子进程);
l 多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads)
+ 位于后台的进程组
START 进程启动时间和日期
TIME 进程使用的总cpu时间
COMMAND 正在执行的命令行命令
NI 优先级(Nice)
PRI 进程优先级编号(Priority)
WCHAN 进程正在睡眠的内核函数名称;该函数的名称是从/root/system.map文件中获得的。
FLAGS 与进程相关的数字标识
系统负载>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
netstat -ap | grep ssh #找出程序运行的端口
netstat -n | grep tcp | grep 23 | wc -l #监控网络服务连接数
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令
"Recv-Q"和"Send-Q"指%0A的是接收队列和发送队列。这些数字一般都应该是0。
Foreign Address 外部地址
state 状态 LISTEM监听
查看连接某服务端口最多的的IP地址
netstat -nat | grep "192.168.199.22:22" |awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -20
netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn #TCP各种状态统计排序
awk '{print $1}' access.log |sort|uniq -c|sort -nr|head -10 #分析access.log获得访问前10位的ip地址
netstat -a|more #列出所有端口
netstat -ap | grep ssh t -l #只显示监听端口
netstat -s #显示所有端口的统计信息
磁盘读写>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
time dd if=/dev/zero of=/test.dbf bs=8k count=300000 #测试磁盘写能力
time dd if=/dev/sda of=/dev/null bs=8k #测试磁盘读能力
time dd if=/dev/sda of=/dxcs.dbf bs=8k #测试磁盘同时读写速度
iotop #动态查看IO情况
iotop -o #直接查看输出比较高的磁盘读写程序
日志分析>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
tail -n20 -f messages #查询最近动态日志最后20条
uniq -c demo.log #标记该行重复的数量,不重复值为1
more 或者less或者head #因为这些命令都是不是从最近时间开始排序的所以少用
sed -n
more?/var/log/secure #系统的登录日志,查看是否有可疑登录信息
修改日志保留默认时间>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
vim /etc/logrotate.conf 修改项 rotate 12 单位是周,默认是4周,修改项/var/log/wtmp { 默认是1,改
为3,
service rsyslog restart #重启日志服务器
不重启系统情况下新添加硬盘(vm也可以)>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
1.fdisk -l #确认开始有几个硬盘
2.新添加一块硬盘
重新读取:
echo "- - -" > /sys/class/scsi_host/host0/scan
echo "- - -" > /sys/class/scsi_host/host1/scan
echo "- - -" > /sys/class/scsi_host/host2/scan
ls /sys/class/scsi_device/ #确认扫出来磁盘多少个
ls /sys/class/scsi_host/ #多少个盘都固定只有这三个的
echo 1 > /sys/class/scsi_device/0:0:0:0/device/rescan
echo 1 > /sys/class/scsi_device/0:0:2:0/device/rescan
echo 1 > /sys/class/scsi_device/2:0:0:0/device/rescan
linux启动后出现桌面背景但无登录界面解决办法>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>(这个方法上次好像也没解决)-手动启动桌面
1.同时按下Ctrl Alt F2 进入命令行界面。
2.root登录进去,执行init3 (登录进去后也可以先执行 init 5 试试能不能进桌面)
3.执行startx 启动界面
如果重启后还是一样就修改下面的试试
vi /etc/pam.d/gdm
将auth required pam_succeed_if.so user != root quiet 这行注释掉
yum<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
yum clean all #清除本地yum软件包
yum makecache
yum repolist all #查看仓库列表和状态
yum search vnc #查找有关vnc的软件包
yum update 软件包 #更新软件
yum -y install xinetd #安装service管理命令
rpm命令<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
rpm -ql 软件名 #查询已安装的软件包的相关文件的安装路径
rpm -qs neokylin-lsb #列出包里文件并显示状态
rpm -qf /usr/libexec/clock-applet #查看属于哪个软件包
rpm -pql neokylin-lsb-core-4.1-1.el6.ns6.02.x86_64 #列出RPM软件包内的文件信息
rpm -pqi redhat-lsb #列出RPM软件包的描述信息
ln /bin/neokylin_lsb_init /bin/redhat_lsb-init
rpm -qa|grep neokylin-lsb #查看lsb已安装的五个软件包
rpm2cpio redhat-lsb-4.0-7.el6.centos.src.rpm |cpio -idvm #用于将rpm软件包转换为cpio格式的文件后查找里面的软件包(方便查看包里内容)
rpm -Uvh *.rpm #更新软件包,前提是依赖全部都在
rpm -e gnome-panel-2.30.2-16.el6.ns6.01.x86_64 –nodeps
mount<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
mount -o remount,rw /opt #文件系统是只读模式,只需将这个处于只读状态的文件系统重新挂载即可
mount -a #将/etc/fstab的所有内容重新加载
fuser -m directory #umount不了的时候查看那个进程在使用状态的目录
mount -t cifs -o username=administrator,password=1 //192.168.24.108/迅雷下载 /wind #挂载wind共享目录
mount --move /mnt/userdirs /home #更换挂载点
findmnt -t ext4 #列出系统挂载点
mount -t nfs -o vers=3,proto=tcp,rsize=1048576,wsize=1048576,hard,intr,timeo=50 10.241.2.84:/NFS_CloudDisk/CloudDiskShare/ /media #挂载华为存储?
设置分辨率:>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
xrandr #查看当前及支持的分辨率
gnome-display-properties #修改分辨率
xrandr -s 1024×768 #设置分辨率,xrandr查看支持的分辨率,一次性的
xrandr -s 0 #将屏幕恢复到原来的分辨率,当你使用了一些需要或者会自动改动您屏幕分辨率的程序以后。
遇到一些旧的显示器,先看显卡支持哪些分辨率,然后修改/boot/grub/grub.conf 在quit 后添加vga=773 保存,如果进不了桌面就
先编辑引导菜单也是在quit 后添加vga=773进入系统后修改/boot/grub/grub.conf 在quit 后添加vga=773
因为使用的是vnc、xmanager,直接用gnome-display无法调整
几乎所有的操作系统都能支持与使用X Window,GNOME和KDE也都是以X Window为基础建构成的
echo $DESKTOP_SESSION #查看环境是gnome或者kde
修改系统界面变成英文字符>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
vim /etc/sysconfig/i18n
LANG="zh_CN.UTF-8" #改成LANG="zh_US.UTF-8",保存退出,重启系统,不过已经新建的用户不会改变
更改已经新建的用户为英文字符集,登录用户
vi ~/.bash_profile
export LANG=zh_US.utf-8
注销再登录用户
一、安装桌面环境 CentOS6.8-minimal安装gnome桌面
@1、安装桌面软件
yum groupinstall "Desktop"
@2、安装X-Window组件
yum groupinstall "X Window System"
@3、安装字体
yum -y install dejavu-sans-* dejavu-serif-fonts
@4、开机启动
编辑/etc/inittab文件, 将id:3:initdefault修改为 id:5:initdefault重启后生效
Linux普通用户配置java环境变量
1、上传java包到服务器
2、解压 tar -zxvf jdk-8u131-linux-x64.tar.gz
3、配置环境变量
3.1、vi ~/.bash_profile
3.2、在.bash_profile文件中填入如下语句:
export PATH
export JAVA_HOME=/home/appadmin/apps/jdk1.8.0_131
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
3.3 保存退出
4、使配置文件生效
source ~/.bash_profile
5、测试 java -version
mysql不区分大小写
vim /etc/my.cnf 的[mysqld]下
lower_case_table_names=1