shell递增
((count = ${count} + 1))
同时关闭多个进程
ps x|grep {psname}|grep -v grep |awk '{print $1}'| xargs kill -9
关闭You have new mail
echo "unset MAILCHECK" >> /etc/profile
source /etc/profile
端口查看
netstat -lntp | awk -F ":" '{print $2}'| awk -F " " '{print $1}' | sort -g -k1
把远程目录挂载到本地sshfs
sshfs -o nonempty user@hostname:path mount_point
fusermount -u mount_point
大文件或目录查找
文件:
find . -type f -size +800M -print0 | xargs -0 du -h | sort -nr
目录:
du -hm --max-depth=2 | sort -nr | head -12
crontab定时任务
添加:
crontab -e
格式:
minute hour day month week command
其中:
minute: 表示分钟,可以是从0到59之间的任何整数。
hour:表示小时,可以是从0到23之间的任何整数。
day:表示日期,可以是从1到31之间的任何整数。
month:表示月份,可以是从1到12之间的任何整数。
week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。
apache 密码管理
for i in abc bcd efg
do
echo "$i"
PASSW="${i}2017"
htpasswd -mb passwd_file ${i} ${PASSW}
echo "$i = ${PASSW}"
done
ssh代理
ssh username@Host -pPort -v -N -D 127.0.0.1:9000
硬盘挂载
1
运行 fdisk /dev/vdb:对数据盘进行分区。
输入 n 并按回车键:创建一个新分区。
输入 p 并按回车键:选择主分区。因为创建的是一个单分区数据盘,所以只需要创建主分区。
如果要创建 4 个以上的分区,您应该创建至少一个扩展分区,即选择 e。
输入分区编号并按回车键。因为这里仅创建一个分区,可以输入 1。
输入第一个可用的扇区编号:按回车键采用默认值 1。
输入最后一个扇区编号:因为这里仅创建一个分区,所以按回车键采用默认值。
输入 wq 并按回车键,开始分区。
2
分区
fdisk /dev/vdb
格式化
mkfs.ext4 /dev/vdb1
挂载
mount –t ext4 /dev/sdb /data
配置挂载
cp /etc/fstab /etc/fstab.bak
echo /dev/vdb1 /mnt ext4 defaults 0 0 >> /etc/fstab
mount /dev/vdb1 /mnt
删除30天前的文件
find /opt/frold -mtime +30 -type f | xargs rm -rf
在shell中获取脚本所在的目录
#!/bin/bash
##获取当前脚本所在的目录
BASE_PATH=$(cd `dirname $0`; pwd)
echo "脚本所在目录为:$BASE_PATH"
firewall端口转发
#命令执行
firewall-cmd --permanent --zone=public --add-forward-port=port=52002:proto=tcp:toport=22:toaddr=192.168.1.2
#直接在文件添加
<forward-port to-addr="192.168.1.2" to-port="22" protocol="tcp" port="52002"/>
#重载生效
firewall-cmd --reload
firewall & iptables
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
firewall-cmd --zone=public --permanent --add-port=8000/tcp && firewall-cmd --reload
JDK 下载
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u101-b13/jdk-8u101-linux-x64.tar.gz
阿里云在专有网络中搭建SNAT网关
1. 打开iptables forward功能。
> vim /etc/sysctl.conf
添加 net.ipv4.ip_forward = 1
2. 把192.168.1.0/24发出的包的源地址替换为192.168.1.1
> 使用iptables
iptables -t nat -I POSTROUTING -s 192.168.1.0/24 -j SNAT —to-source 192.168.1.1
使用firewall
firewall-cmd --permanent --direct --passthrough ipv4 -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 192.168.1.1
firewall-cmd --reload
3. 添加路(把发往0.0.0.0/0网段的包,发送给SNAT网关)
dig安装
yum install bind-utils
文件同步
rsync -zvrtopgl --progress --delete /www/down/javaWeb/ root@intbee:/www/down/javaWeb/
定期删除文件
# file name clear_log.sh
#!/bin/bash
backupdir=/www/server/tomcat_8080/logs
find $backupdir -name "*.log" -type f -mtime +5 -exec rm {} \; > /dev/null 2>&1
##定时删除全部类型
backupdir=/www/server/tomcat_8080/logs
find ./logs -name "*" -type f -mtime +5 -exec rm {} \; > /dev/null 2>&1
systemd开机启动服务
/etc/systemd/system/multi-user.target.wants
Comments