Linux

1.远程桌面

1.Xmanager远程桌面连接CentOS6

1.1.CentOS7无法使用xdmcp

2.VNC画面质量差
3.XRDP推荐

2.LVM配置

1.Linux下lvm中PV丢失找回方法

2.pv需要格式化

1.CentOS7:mkfs.xfs -f /dev/sdb1

3.CentOS7扩展lv:xfs_growfs
4.分区后需执行partprobe

1.CentOS6

5.CentOS7中cfdisk中1g约等于1073M,CentOS6中1092M
6.lvextend -l +XX(PV中的PE数)

3.查看pid:pgrep -f name

kill 掉该进程:pkill -f name

4.使用crontab时要注意PATH是否正确
5.更改xshell字符集
6.centos下配置sftp且限制用户访问目录
7.centos7管理防火墙
8.查看端口使用情况:netstat -apn|grep <端口号>
9.建立多级目录:mkdir -p
11.批量重命名文件

1.rename _aerospace.mp4 _20170511_aerospace.mp4 *_aerospace.mp4

12.查找命令

13.lsyncd同步目录

1.参考1

14.gzip是直接将原文件压缩不会保留原文件(没搞明白前我删了不少日志!!!)
15.CentOS7查询服务是否开机启动:

1.systemctl is-enabled xxx.service
2.ls /etc/systemd/system/multi-user.target.wants/

16.大于2T磁盘分区
17.查看文件夹大小:du -h --max-depth=1 或者du -sh *

1.Linux df 命令不更新磁盘数据空间使用情况的解决办法
2.删除某文件时间前的文件含该文件find . -type f ! -newer XX | xargs rm -f

18.Ubuntu更改系统时区:dpkg-reconfigure tzdata

1.此方法可以有效更改jvm读取的系统时间

19.shell要特别注意什么时候需要空格,什么时候不需要空格

1.重启tomcat脚本

1.sh /home/apache-tomcat-7.0.10/bin/restart.sh为什么会报错,而cd /home/apache-tomcat-7.0.10/bin/然后sh restart.sh就不报错呢?而且sh /home/restart.sh也不报错,我晕!!!

2.使用crontab执行.sh会获取进程 pid 时,会出现多个 pid ,多出来的几个进程实际上是子 Shell 的临时进程,注意grep时过滤掉

#!/bin/sh
source ~/.bash_profile
tomcat_pid=`ps -ef|grep "/home/apache-tomcat-7.0.10" |grep -v "grep"|grep "/usr/bin/java"|awk '{print $2}'`
echo `date` "tomcat pid:${tomcat_pid}."
if [ -z "${tomcat_pid}" ]
then
/home/apache-tomcat-7.0.10/bin/startup.sh
echo `date` "tomcat is starting"
tomcat_pid=-1
else
/home/apache-tomcat-7.0.10/bin/shutdown.sh
echo `date` "tomcat is shuting down"
fi

new_tomcat_pid=-1
for (( sleep_time=0; sleep_time<6; sleep_time++  ))
do
sleep 2s
new_tomcat_pid=`ps -ef|grep "/home/apache-tomcat-7.0.10" |grep -v "grep"|grep "/usr/bin/java"|awk '{print $2}'`
echo `date` "new tomcat pid:${new_tomcat_pid}."
if [ -z ${new_tomcat_pid} ]
then
new_tomcat_pid=-1
fi

if [ -1 -eq "${tomcat_pid}" ]
then
if [ "${new_tomcat_pid}" -eq "${tomcat_pid}" ]
then
echo `date` "waiting for tomcat startup completely"
else
echo `date` "tomcat startup completely"
break
fi
else
if [ "${new_tomcat_pid}" -eq "${tomcat_pid}" ]
then
echo `date` "waiting for tomcat shutdown completely"
else
echo `date` "tomcat shut down completely"
break
fi
fi
done

if [ "${tomcat_pid}" -ne "${new_tomcat_pid}" ]
then
if [ "${tomcat_pid}" -ne -1 ]
then
/home/apache-tomcat-7.0.10/bin/startup.sh
echo `date` "start up tomcat agian"
fi
else
echo `date` "tomcat startup/shutdown fail"
fi


20.配置代理

1.全局代理配置完了后需要执行命令source 配置文件
2.全局代理中剔除不想通过代理的内容

1.export no_proxy=".mylan.local,.domain1.com,host1,host2"
3.设置jvm使用系统代理
1.在/etc/profile中追加export JAVA_TOOL_OPTIONS+=" -Djava.net.useSystemProxies=true"

1.验证生效:java -version

21.配置NTP

1.配置文件是/etc/ntp.conf
2.局域网配置

22.杀毒工具clamav的rpm文件下载

1.centos7无法启动clamav
2.yum安装
3.扫描命令clamscan -r --bell -i / -l /tmp/clamav.log

23.后台运行

1.nohup sh export_old_data.sh 2017-10 > out_2017_11_19.log 2>&1 &

24.CentOS7设置/etc/init.d/开机启动
25.win7硬盘安装centos7

1.参照1
2.参照2
3.参照3
4.参照4
5.注意确认自己到底是hd几(命令行下使用root确定)
6.安装时/boot不能设为xfs格式

title CentOS 7
root (hd0,6)http://www.jianshu.com/p/c18d5347c9b6
kernel (hd0,6)/isolinux/vmlinuz linux repo=hd:/dev/sda7:/
initrd (hd0,6)/isolinux/initrd.imghttp://www.jianshu.com/p/c18d5347c9b6

26.切换鼠标左右键

27.可以利用路由器的端口转发实现访问局域网内的服务器

1.更改ssh端口

28.使用ssh隧道+redsocks实现全局外网访问特定ip内网

1.参考1
2.参考2
3.iptables设定

1.iptables -t nat -A OUTPUT -d {dest ip} -p tcp -j REDSOCKS
2.iptables -t nat -A REDSOCKS -p tcp -j REDIRECT --to-ports 12345

4.参考3

29.centos7安装sublime

30.配置iptables

31.win10安装ubuntu

1.参考1
2.grub安装失败解决方法
3.EasyUEFI
4.参考2

32.[增加swap]

1.还有空间可分配的情况

33.备份数据

  1. 注意需chmod 600 /etc/rsyncd.secrets,以及搭建rsync server端
#!/bin/bash
BAK_TIME=`date +%Y%m%d`
BAK_PATH=XXX
DSTHOST=XXX

#删除本地的备份文件
rm -rf "$BAK_PATH"/*.dmp

#获取待下载文件名
XXX_DMP=`rsync rsync_backup@"$DSTHOST"::XXX/"$BAK_TIME"*_XXX.dmp --password-file\=\/etc\/rsyncd.secrets | tail -1|awk '{print $5}' `

#下载备份文件到本地
rsync -av rsync_backup@"$DSTHOST"::XXX/"$XXX_DMP" "$BAK_PATH"/ --password-file=/etc/rsyncd.secrets

34.crond中log带时间戳

1.log_date +\%Y\%m\%d.log

35.centos epel源

36.利用awk实现类似group by功能

1.cat test.txt |grep -E 'key'|awk -F'&' '{print $2,$3}'|awk '{arr[$2]++}END{for (a in arr) print a,arr[a]}'| sort -nk 2

37.安装vsftpd

1.使用虚拟用户
2.需要设置文件夹权限
3./etc/pam.d/vsftpd原有的注释掉
4.限制上传下载
anon_upload_enable=YES 可上传 download_enable = YES 不能下载
5.使用ftp命令测试open ip [port]

38.监控cpu和硬盘

#!/bin/bash
echo "begin monitor at `date`"
. /etc/profile
. ~/.bash_profile

osVersion=`rpm -q --queryformat '%{VERSION}' centos-release`
if [ "7" -eq $osVersion ]
then
ipAddr=`ip addr | grep "eth0" |grep "inet" |cut -d " " -f6| cut -d "/" -f1`
else
ipAddr=`ifconfig eth0 |grep "inet addr"| cut -f 2 -d ":"|cut -f 1 -d " "`
fi
hostName=`hostname --fqdn`
phoneList="电话号码1","电话号码2"

function checkCPU(){
    local cpuLoad=`uptime | awk -F',' '{print $5}'`
    local procNum=`nproc`
    echo "processer num:$procNum"
    echo "cpu load:$cpuLoad"

    local cpuLoadAVG=`awk 'BEGIN {printf "%.2f\n",'"$cpuLoad"'/'"$procNum"'}'` 
    echo "cpu load average:$cpuLoadAVG"
    local CPU_STANDARD=0.85
    if ((`expr $cpuLoadAVG \> $CPU_STANDARD`))
    then
       echo 'cpu will overload'
       curl --connect-timeout 10 --max-time 10 --header "Content-Type: application/x-www-form-urlencoded; charset=utf-8" --request POST --data-urlencode "action=sendMsgManager" --data-urlencode "msg={"content":"【警告】$hostName($ipAddr)CPU即将过载","phones":[$phoneList]}" 短信网关地址
    else
    echo 'cpu is normal'
    fi
}

function checkDisk(){
    local DISK_STANDARD='90%'
    echo 'disk occupancy rate:' 
    df -Ph|tail -n +2 | awk  '{print $5,$6}'
    df -Ph|awk 'NR > 1 {print $5, $6}' | while read arg1 arg2;do
       if [ $arg1 \> $DISK_STANDARD ]
       then
         echo "$arg2 will be full"
         curl --connect-timeout 10 --max-time 10 --header "Content-Type:application/x-www-form-urlencoded; charset=utf-8" --request POST --data-urlencode "action=sendMsgManager" --data-urlencode "msg={"content":\"【警告】$hostName($ipAddr)目录$arg2空间即将不足\","phones":[$phoneList]}" "短信网关地址"
       fi
    done
}

function main(){
   checkCPU
   checkDisk
}

main

echo "end monitor at `date`"

39.centos7安装vsftpd

  1. 64位操作系统pam配置需加/lib64/security/
    2.SELinux只需设置setsebool -P ftpd_full_access on
    3.限制用户离开根目录需配置chroot_list_file=/etc/vsftpd/chroot_list
    4.参考2

40.视频压缩

1.ffmpeg -threads 2 -y -i input.mp4 -c:v libx264 -crf 28 -preset:v fast -c:a copy output.mp4

41.查找指定日期的文件

1.find . -type f \( -newermt '2018-11-10 00:00' -a -not -newermt '2018-11-06 23:59' \)

42.递归查找指定文件带文件路径

1.find $PWD | xargs ls -td | grep mp4$

43.ssh免密登录

1.在机器A执行ssh-keygen -t rsa(一路回车即可),在/机器A当前用户名/.ssh下生成id_rsa和id_rsa.pub
2.在机器A执行ssh-copy-id 机器B用户名@机器BIP,在/机器B指定用户名/.ssh下authorized_keys文件追加机器A的id_rsa.pub文件内容
3.在机器A ssh 机器B不再需要机器B密码

44、ssh限制ip登录

1./etc/hosts.allow配置sshd:IP:allow,支持前缀;/etc/hosts.deny配置sshd:ALL

45、chrony时间同步

1.客户端配置server x.x.x.x iburst

46、安装mysql

1.centos8 yum install前需执行yum module disable mysql
2.更改/etc/my.cnf中目录,需注意目录权限为mysql mysql

47、centos7 x11 gui中输入中文

1.在远程终端运行ibus engine libpinyin,按shift切换为英文,如ibus未启动,需运行ibus-setup,参照

48、linux mail 发邮件

1、域账户set smtp-auth-user=${domain}/${username}

49、Arthas

1、被监控服务器启动java -jar arthas-boot.jar ${pid}

50、docker安装sonarqube

1、扫描上传maven项目mvn sonar:sonar -Dsonar.host.url=XX -Dsonar.login=XX -Dsonar.projectKey=XX
2、扫描上传.net项目

cd C:\workspace\demo
D:\software\sonar-scanner-msbuild-5.0.4.24009-net46\SonarScanner.MSBuild.exe begin /k:"demo" /d:sonar.host.url="XXX" /d:sonar.login="XX"
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MsBuild.exe" /t:Rebuild
D:\software\sonar-scanner-msbuild-5.0.4.24009-net46\SonarScanner.MSBuild.exe end /d:sonar.login="XX"

51、elasticsearch重启,如用命令行重启不能用root用户

    curl -XPUT -H "Content-Type: application/json" -uX:X http://X:9200/_cluster/settings -d'
    {
        "transient" : {
            "cluster.routing.allocation.enable" : "none"
        }
    }'

52、Jenkins配置Windows节点
53、logstash 配置日志gork%{TIMESTAMP_ISO8601:time}\s\[%{DATA:thread}\]\s%{LOGLEVEL:level}\s%{GREEDYDATA:content}
54、搭建k8s,参考1参考2
55、用VisualVM远程监控Java进程
56、可访问外网的内网服务器,通过ngrok后台运行后,通过服务器用户名密码外网ssh登录,配合MobaXterm的Tunnel及Proxifier实现通过该内网服务器作为跳板机访问内网其他资源
57、scp从linux拷贝到安装openssh的windows(注意配置openssh的环境变量)需要有scp.exe
58、docker run指定sqlserver datasource url,因其中有分号,需使用单引号括起来,以防databaseName在分号后被忽略,导致找不到数据库,sql报错
59、外网通过https通过nginx代理tomcat,程序如何通过request.getScheme()及request.getServerPort()获取https及443

1、nginx.conf配置proxy_set_header X-Forwarded-Scheme https;
2、tomcat server.xml配置

<Valve className="org.apache.catalina.valves.RemoteIpValve"  
        remoteIpHeader="X-Forwarded-For"  
        protocolHeader="X-Forwarded-Proto"  
        protocolHeaderHttpsValue="https"/> 

60、树形显示目录下文件

tree -at -I "export" /usr/file_new > /tmp/file_new.txt

61、查找文件夹下最新文件(xargs: ls: terminated by signal 13提示不影响)

find /data/project/ -type f | xargs ls -lht | head -n 1
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容

  • cpu占用和核数查询教程 https://blog.csdn.net/wangxin6722513/article...
    我是电饭煲阅读 814评论 0 0
  • 一、目录结构 目录说明/binBinary的缩写,这个目录存放最经常使用的命令;/sbins就是Super Use...
    CJ21阅读 1,590评论 0 15
  • 参考 https://www.bilibili.com/video/BV1dW411M7xL[https://ww...
    无奈何杨阅读 259评论 0 1
  • 一、Linux系统介绍 1.操作系统的分类 1.1 操作系统的定义 操作系统(Operating System,简...
    故里里阅读 504评论 0 1
  • 一、Linux系统介绍 1.操作系统的分类 1.1 操作系统的定义 操作系统(Operating System,简...
    Y_8f89阅读 538评论 0 0