1、rsync
rsync -avzP --delete SRC DEST #同步,delete也同步 usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf #以服务方式运行
2、禁止root本地登录,添加第一行
vim /etc/pam.d/login auth required pam_succeed_if.so user != root quiet
3、Xmanager、VNC远程桌面设置,分别是lightdm、gdm和VNC
vim /etc/lightdm/lightdm.conf [XDMCPServer] enabled=true vim /etc/gdm/custom.conf [security] DisallowTCP=false [xdmcp] port=177 Enable=true [root@localhost ~]# yum -y install tigervnc-server #VNC远程桌面 [root@localhost ~]# vncserver :1
4、结束tty1
pkill -9 -t tty1
5、fsck、badblocks用法。
badblocks -b 4096 -c 16 -sv /dev/sda -o badblocks.log 63000 5100 # -b指定磁盘区块大小 -s显示进度 -c每次测试块数 -v显示详细信息 [root@desktop ~]# fsck -y -c /dev/sda #检查硬盘并修复坏块 [root@localhost ~]# mkfs -c
6、screen会话示例。
[root@desktop ~]# screen -dmS liang #启动一个初始状态断开的screen会话 [root@desktop ~]# screen -list There is a screen on: 13228.liang (Detached) 1 Socket in /var/run/screen/S-root. [root@desktop ~]# screen -r 13228 #恢复会话窗口,ctrl+a+d暂时中断会话 [root@desktop ~]# screen -x #远程会话共享 [root@m3 ~]# screen -wipe #结束死掉的会话
7、sudo权限设置。
[root@desktop ~]# visudo Cmnd_Alias PERSON = /usr/sbin/visudo, /sbin/reboot, /sbin/halt #命令集别名大写不要有特殊符号 user ALL=(root) NOPASSWD:ALL,!PERSON
8、mount。
#Samba [root@localhost ~]# mount -t cifs -o username=,password= //ip/share /mountpoint [root@localhost ~]# smbclient //ip/share -U user #NFS [root@localhost ~]# yum install rpcbind [root@localhost ~]# yuminstall nfs-utils [root@localhost ~]# vi /etc/exports /data 192.168.0.0/16(rw,async,all_squash,root_squash,anonuid=500,anongid=500) [root@localhost ~]# service rpcbind restart [root@localhost ~]# service nfs restart [root@localhost ~]# mount -t nfs 192.168.19.22:/data /media #挂载测试 [root@localhost ~]# vim /etc/fstab #设置开机自动挂载 192.168.19.22:/data /media nfs rw,aysnc 0 0 Ro 只读 Async 异步传输,即数据线储存到内存,硬盘空闲时再写入 Root_squash root用户挂载该目录是映射为匿名用户 All_squash #所有Client用户访问时都映射为匿名用户 Anonuid #指定访问该目录的uid Anongid #指定访问该目录的gid [root@localhost ~]# exportfs -v #检查配置文件 /data 192.168.0.0/16(rw,async,wdelay,root_squash,all_squash,no_subtree_check,anonuid=500,anongid=500)
9、Vi编辑器一些特殊用法。
:set nu #给行编号:VI编辑状态下 :set nonu #取消行编号 :s/source/dest/ #替换当前行某一个字符 :/s/source/dest/g #替换当前行所有相同字符 :n1,n4s/word1/word2/g #替换1-4行字符 :%s/source/dest/g #替换文本所有相同字符: :g/^#/d #去掉注释符“#” :g/^\s*$/d #去掉空行 u或Ctrl+r #还原或撤销操作 Ctrl+f、Ctrl+b #向前翻一页、向后翻一页 Ctrl+d、Ctrl+u #向前移动半页、向后移动半页 L #移动到当前屏幕最后一行 :new|sp|vsp file #前2个上下分屏,后一个左右分屏,ctrl+w切换
10、瞎记录。
[root@localhost ~]# vi /etc/sysconfig/i18n #修改地区语言 #LANG="zh_CN.UTF-8" LANG="en_US" [root@localhost ~]# lsb_release -a #查看系统版本信息 [root@localhost ~]# cat /etc/issue [root@localhost ~]# find ./ -type f -size +100k -exec mv {} /mnt \; #把当前目录大于100k的文件移动到/mnt [root@localhost ~]# nc -z 172.16.22.32 5800-6000 #批量测试端口连通性 [root@localhost ~]# cpio -idmv <file.cpio #cpio压缩文件解压 [root@localhost ~]# vim /etc/yum.repos.d/local.repo #创建本地源 [local] name=local repo baseurl=file:///mnt/Packages enabled=1 gpgcheck=0 [root@localhost ~]# mount -t iso9660 /dev/sr0 /media/cdrom/ [root@localhost ~]# cd /media/cdrom/Packages [root@localhost ~]# cp -r * /mnt/Packages/ [root@localhost ~]# createrepo /mnt/Packages/ [root@localhost ~]# rpm -ivh yum-utils-1.1.30-14.el6.noarch.rpm [root@localhost ~]# yum-groups-manager -n "My Group" --id=mygroup --save=mygroups.xml --mandatory yum glibc rpm [root@localhost ~]# createrepo -g mygroups.xml /mnt/Packages/ [root@localhost ~]# yum clean all #清除源信息 [root@localhost ~]# yum makecache #常见缓存信息 [root@localhost ~]# createrepo --update /mnt/Packages/ #更新源 #创建网络源 [Centos] name=local repo baseurl=http://mirrors.163.com/centos/6.5/os/x86_64/ enabled=1 gpgcheck=0 [root@localhost ~]# yum install yum-utils #yumdownloader [root@localhost ~]# yumdownloader vsftpd #从yum源下载rpm包 [root@server1 ~]# yumdownloader --resolve vsftpd #依赖包一起下载 [root@localhost ~]# grub-install /dev/sda #重装grub [root@localhost ~]# date -R #查看当前时区 [root@localhost ~]# tzselect #修改时区 [root@localhost ~]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #修改时区 #KVM虚拟机简单应用 [root@localhost ~]# yum -y install qemu-kvm libvirt virt-manager #安装KVM虚拟机 [root@localhost ~]# service libvirtd start #启动KVM守护进程 #ssh公私钥验证 [root@localhost ~]# ssh-keygen -t rsa #创建公私钥,然后把公钥放到远程主机相应目录 [root@localhost ~]# scp /root/.ssh/id_rsa.pub [email protected]:/root/.ssh/authorized_keys [root@localhost ~]# lftp [email protected]:2222 #lftp客户端连接 [root@localhost ~]# lftp username:[email protected]:2222 #lftp客户端连接
11、sar系统性能分析工具。
sar -u #统计CPU性能资源 sar -b #磁盘IO sar -n DEV #网卡流量 sar -r #内存利用率 sar -u -f /var/log/sa/sa10 #指定sar文件,统计cpu历史
12、tcpdump抓包工具。
先看看tcpdump的具体参数及意义: -i:指定tcpdump监听的网络接口 -s:指定要监听数据包的长度 -c:指定要监听的数据包数量,达到指定数量后自动停止抓包 -w:指定将监听到的数据包写入文件中保存 -A:指定将每个监听到的数据包以ACSII可见字符打印 -t:不显示时间戳 -n:指定将每个监听到数据包中的域名转换成IP地址后显示 -nn:指定将每个监听到的数据包中的域名转换成IP、端口从应用名称转换成端口号后显示 -e:指定将监听到的数据包链路层的信息打印出来,包括源mac和目的mac,以及网络层的协议 -p:将网卡设置为非混杂模式,不能与host或broadcast一起使用 -r:指定从某个文件中读取数据包 -S:指定打印每个监听到的数据包的TCP绝对序列号而非相对序列号 类型的关键字:host,net,port等 传输方向的关键字:src,dst,src or dst,src and dst 协议关键字:fddi,ip,arp,rarp,tcp,udp,imcp等 其他重要的关键字,如:gateway,broadcast,less,greater,还有三种逻辑运算,取非运算是'not'、'!',与运算符是'and'、'&&'、或运算符是'or'、'||', 例: #抓取源ip网络接口为eth0的3128端口的10个包: tcpdump -i eth0 -c 10 -nn src 172.16.23.14 and port 3128 #用tcpdump嗅探3128端口的访问看看谁最高: tcpdump -tnn tcp dst port 3128 -c 100|grep -i "^ip"|awk '{print $2}'|cut -d"." -f 1-4|sort|uniq -c|sort -nr #抓取访问eth0适配卡且访问端口为tcp 9080 tcpdump -i eth0 dst 10.15.72.74 and tcp port 9080
13、logrotate日志分割,以tomcat为例。
[root@localhost ~]# vim /etc/logrotate.d/tomcat /usr/local/tomcat/logs/catalina.out { dateext #使用日期进行标注,默认标注为数字 dateformat -%Y-%m-%d #设置日期格式 daily #转储日志周期为每天 rotate 7 #转储日志保存次数 nocompress #不压缩 copytruncate #用于在打开中的文件,把当前日志备份并截断 notifempty #即使是空文件也转储 sharedscripts #如有多个文件,全部读取一次再执行 missingok #发生错误时不压缩 } [root@localhost ~]# logrotate -d -f /etc/logrotate.conf #debug配置文件 [root@localhost ~]# logrotate -f /etc/logrotate.conf #手动加载配置文件 [root@localhost ~]# cat /etc/anacrontab #查看任务执行时间