Redhat Linux Crontab
http://baike.baidu.com/view/1229061.htm
crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。
该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。
该词来源于希腊语 chronos(χρνο),原意是时间。
通常,crontab储存的指令被守护进程激活, crond常常在后台运行,每一分钟检查是否有预定的作业需要执行。
这类作业一般称为cron jobs。
crontab快速注释及撤销注释
http://blog.chinaunix.net/uid-20680669-id-3474402.html
先使用crontab -e进行对crontab的编辑操作
$ crontab -e
然后使用vi的如下编辑命令
:%s/^/#/
就可以将定时执行的任务前面都加上一个'#',进行注释掉。
同样等,某些操作完成后,也是,先进行对crontab的编辑
$ crontab -e
使用如下编辑命令
:%s/^#//
就可以讲上次所有注释的定时任务,全部撤销。
Redhat image auto download
http://lindows.iteye.com/blogs/1483469
加载Redhat Linux Crontab 列表 / 每天中午11点定时下载美食图片
[root@locahost ~]# crontab -e
# 每天10:30下载新文件index.php?mod=yugao008
30 10 * * * wget http://weibo.cnsu****.com/index.php?mod=yugao008
# 每天11:00根据新文件index.php?mod=yugao008匹配一定规则自动下载指定美食菜谱图片
0 11 * * * grep 'o.jpg" class="artZoomAll"' index.php\?mod\=yugao008 | awk -F "\"" '{print $2}' > $(hostname)_$(date +%Y%m%d%H%M%S).txt | grep http $(hostname)*.txt | awk -F "txt:" '{print $2}' | sort | uniq | more | xargs -I {} wget -P /home/lindows/ {}
http://netkiller-github-com.iteye.com/blog/1765425
循环增量备份
- #!/bin/bash
- ###################################
- # $Id: backup 379 2012 - 04 - 02 08 : 43 :42Z netkiller $
- # Author: netkiller@msn.com
- # Home: http://netkiller.github.com
- ###################################
- BACKUP_DIR=/backup/www
- ####################################
- LOGFILE='/var/tmp/test.log'
- RSYNC="rsync"
- WEEK=$(date -u +%A)
- RSYNC_OPTS="-auz --delete --log-file=$LOGFILE"
-
- ####################################
- test ! -w $BACKUP_DIR && echo "Error: $BACKUP_DIR is un-writeable." && exit 0
-
- umask 0077
-
- for domain in $(ls -1 /www)
- do
- test ! -d "$BACKUP_DIR/$domain" && mkdir -p "$BACKUP_DIR/$domain"
- echo "$domain:"
- for host in $(ls -1 /www/$domain)
- do
- echo " - $host"
- backup_dir=$BACKUP_DIR/$domain/$host/$WEEK
- mkdir -p ${backup_dir}
- $RSYNC $RSYNC_OPTS /www/$domain/$host/* $backup_dir
- done
-
- done
全备份
- #!/bin/bash
- ###################################
- # $Id : backup 379 2012-04-02 08:43:42Z netkiller $
- # Author: netkiller@msn.com
- # Home: http:
- ###################################
- BACKUP_DIR=/backup/www
- #Number of copies
- COPIES=30
- ####################################
- TAR='tar'
- RSYNC="rsync"
- TIMEPOINT=$(date -u +%Y-%m-%d)
- TAR_OPTS="zcf"
- ####################################
- test ! -w $BACKUP_DIR && echo "Error: $BACKUP_DIR is un-writeable." && exit 0
-
- umask 0077
-
- for domain in $(ls -1 /www)
- do
- test ! -d "$BACKUP_DIR/$domain" && mkdir -p "$BACKUP_DIR/$domain"
- echo "$domain:"
- for host in $(ls -1 /www/ $domain )
- do
- echo " - $host"
- backup_dir=$BACKUP_DIR / $domain / $host / $WEEK
- mkdir -p ${backup_dir}
- $TAR $TAR_OPTS $BACKUP_DIR / $domain / $host / $host . $TIMEPOINT .tgz /www/ $domain / $host
- done
- done
- find $BACKUP_DIR -type f -mtime + $COPIES - delete
RedHat top 命令详解 / top命令自动打印
192.168.134.72
文件:[root@localhost ~]# top_java.sh
内容:
#!/bin/sh
# 用top查看java进程并自动记录到txt里
while(true)
do
top -b -n 1 | grep java >> top_$(hostname)_$(date %Y%m%d%H%M%S).txt;
sleep 60;
done;
[root@app01 ~]# crontab -l
30 * * * * /usr/sbin/ntpdate 192.168.118.201
00 00 * * * /nmon/nmon_x86_rhel54 -f -N -m /nmon -s 60 -c 1440
1 * * * * /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin/task.sh
30 * * * * /root/top.sh
[root@app01 ~]# more top.sh
top -n 1 -b > /root/mytop/top_$(date +%H:%M:%S).txt
或
top -b -Hp 494 -d 1 -n 1 > thread.$(date +%Y%m%d.%H%M%S).494.0000.txt
(494为进程号)
top -b -Hp <pid> -d 1 -n 1 > topinfo.$(date +%Y%m%d.%H%M%S).<pid>.0000.txt ; kill -3 <pid>
http://cppmule.iteye.com/blog/1731343
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。
http://fuliang.iteye.com/blog/996119
VIRT:virtual memory usage
1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等
2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量
RES:resident memory usage 常驻内存
1、进程当前使用的内存大小,但不包括swap out
2、包含其他进程的共享
3、如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反
4、关于库占用内存的情况,它只统计加载的库文件所占内存大小
SHR:shared memory
1、除了自身进程的共享内存,也包括其他进程的共享内存
2、虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小
3、计算某个进程所占的物理内存大小公式:RES – SHR
4、swap out后,它将会降下来
DATA
1、数据占用的内存。如果top没有显示,按 f 键 可以显示出来。
2、真正的该程序要求的数据空间,是真正在运行中要使用的。
http://fuliang.iteye.com/blog/996119
进程信息区统计信息区域的下方显示了各个进程的详细信息。首先来认识一下各列的含义。
序号 |
列名 |
含义 |
a |
PID |
进程id |
b |
PPID |
父进程id |
c |
RUSER |
Real user name |
d |
UID |
进程所有者的用户id |
e |
USER |
进程所有者的用户名 |
f |
GROUP |
进程所有者的组名 |
g |
TTY |
启动进程的终端名。不是从终端启动的进程则显示为 ? |
h |
PR |
优先级 |
i |
NI |
nice值。负值表示高优先级,正值表示低优先级 |
j |
P |
最后使用的CPU,仅在多CPU环境下有意义 |
k |
%CPU |
上次更新到现在的CPU时间占用百分比 |
l |
TIME |
进程使用的CPU时间总计,单位秒 |
m |
TIME+ |
进程使用的CPU时间总计,单位1/100秒 |
n |
%MEM |
进程使用的物理内存 百分比 |
o |
VIRT |
进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES |
p |
SWAP |
进程使用的虚拟内存中,被换出的大小,单位kb。 |
q |
RES |
进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA |
r |
CODE |
可执行代码占用的物理 内存大小,单位kb |
s |
DATA |
可执行代码以外的部分(数据段+栈)占用的物理 内存大小,单位kb |
t |
SHR |
共享内存大小,单位kb |
u |
nFLT |
页面错误次数 |
v |
nDRT |
最后一次写入到现在,被修改过的页面数。 |
w |
S |
进程状态。 D =不可中断的睡眠状态 R =运行 S =睡眠 T =跟踪/停止 Z =僵尸进程 |
x |
COMMAND |
命令名/命令行 |
y |
WCHAN |
若该进程在睡眠,则显示睡眠中的系统函数名 |
z |
Flags |
任务标志,参考 sched.h |
RedHat ntpd / ntpdate 校准时间 / 调整时间
http://bbs.linuxtone.org/thread-4585-1-1.html
ntpd 是校准时间
[root@b2ccache yum.repos.d]# /usr/sbin/ntpd --version
/usr/sbin/ntpd: ntpd 4.2.2p1@1.1570-o Wed Sep 3 14:28:29 UTC 2008 (1)
ntpdate 是调整时间
[root@b2ccache yum.repos.d]# /usr/sbin/ntpdate -v
7 Sep 17:14:13 ntpdate[28826]: ntpdate 4.2.2p1@1.1570-o Wed Sep 3 14:28:30 UTC 2008 (1)
7 Sep 17:14:13 ntpdate[28826]: no servers can be used, exiting
RedHat Linux Client每10分钟自动同步192.168.10.1的RHEL机器时间
http://blueicer.blog.51cto.com/395686/116426
[root@nginxServer4 ~] # conrtab -l
0-59/10 * * * * /usr/sbin/ntpdate 192.168.10.1
1. 与一个已知的时间服务器同步
2. 配置网络时间协议(ntp)
1. 让linux自动同步时间
vi /etc/crontab
加上一句:
00 0 1 * * root rdate -s time.nist.gov
time.nist.gov 是一个时间服务器.
2. 时间服务器配置(192.168.10.1)
1). # rpm -ivh ntp-4.1.2-4.EL3.1.i386.rpm
2). # vi /etc/ntp.conf
注释一行
restrict default ignore
加入一行
restrict 192.168.10.0 mask 255.255.255.0 notrust nomodify notrap
3). # vi /etc/ntp/step-tickers
加入一行
pool.ntp.org
这样每次ntpd启动时,会自动连接该国际标准时间服务器;
4). # service ntpd start
5). # netstat -an |grep 123
确保该端口以udp方式开放
时间客户端配置(192.168.10.2)
1). # ntpdate 192.168.10.2
应该显示同步成功
2). # crond -e
加入
0-59/10 * * * * /usr/sbin/ntpdate 192.168.10.1
表示每隔10分钟同步一次时间
http://linux.chinaunix.net/techdoc/system/2009/08/30/1132834.shtml
定时对自动备份好的文件进行删除
# EDITOR=vi
# export EDITOR
# crontab -e //添加以下一行
0 0 * * 1,2,3,4,5 /usr/bin/find /extra/bak/*.gz -ctime +10 -exec rm {} \;
以上实现,周一到周五的第天0点时,检查删除/extra/bak下所有的10天以前的所有的gz文件!
[root@stageserver DTS]# crontab -l
10 03 * * * sh /usr/local/DTS/cronjob.sh
10 03 * * * sh /usr/local/DTS/rmlog.sh
cronjob.sh
#!/bin/bash
cd /usr/local/DTS/
date_start=`date|awk -F"[ :]" '{print $4*3600 + $5*60 +$6}'`
echo `date` $date_start>>log.txt
export CLASSPATH=$CLASSPATH:/usr/local/DTS/LogTransmission.jar
/usr/local/jdk1.6.0_16/bin/java -jar LogTransmission.jar >>log.txt
date_end=`date|awk -F"[ :]" '{print $4*3600 + $5*60 +$6}'`
echo `date` $date_end>>log.txt
time=`expr "$date_end" - "$date_start"`
echo "your command take $time s" >>log.txt
echo "---------------------------" >>log.txt
rmlog.sh
#!/bin/bash
#2010-03-05 zouyulong
#rm old logs
#/usr/local/DTS/rmlog.sh
cd /data/ProjectDocument/DailyLog/
find . -ctime +29|xargs rm -rf
# find . -ctime +29|xargs rm -rf *.zip ???
Linux 中 crontab 详解及示例
http://darkmasky.iteye.com/blog/224891
原文引自:http://blog.chinaunix.net/u/31547/showart_438018.html
cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
你也可以将这个服务在系统启动的时候自动启动:
在/etc/rc.d/rc.local这个脚本的末尾加上:
/sbin/service crond start
现在Cron这个服务已经在进程里面了,我们就可以用这个服务了,Cron服务提供以下几种接口供大家使用:
1、直接用crontab命令编辑
cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明:
crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除某个用户的cron服务
crontab -e //编辑某个用户的cron服务
比如说root查看自己的cron设置:crontab -u root -l
再例如,root想删除fred的cron设置:crontab -u fred -r
在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -u root -e
进入vi编辑模式,编辑的内容一定要符合下面的格式:*/1 * * * * ls >> /tmp/ls.txt
这个格式的前一部分是对时间的设定,后面一部分是要执行的命令,如果要执行的命令太多,可以把这些命令写到一个脚本里面,然后在这里直接调用这个脚 本就可以了,调用的时候记得写出命令的完整路径。时间的设定我们有一定的约定,前面五个*号代表五个数字,数字的取值范围和含义如下:
分钟 (0-59)
小時 (0-23)
日期 (1-31)
月份 (1-12)
星期 (0-6)//0代表星期天
除了数字还有几个个特殊的符号就是"*"、"/"和"-"、",",*代表所有的取值范围内的数字,"/"代表每的意思,"*/5"表示每5个单位,"-"代表从某个数字到某个数字,","分开几个离散的数字。以下举几个例子说明问题:
每天早上6点
0 6 * * * echo "Good morning." >> /tmp/test.txt //注意单纯echo,从屏幕上看不到任何输出,因为cron把任何输出都email到root的信箱了。
每两个小时
0 */2 * * * echo "Have a break now." >> /tmp/test.txt
晚上11点到早上8点之间每两个小时,早上八点
0 23-7/2,8 * * * echo "Have a good dream:)" >> /tmp/test.txt
每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * 1-3 command line
1月1日早上4点
0 4 1 1 * command line
每次编辑完某个用户的cron设置后,cron自动在/var/spool/cron下生成一个与此用户同名的文件,此用户的cron信息都记录在 这个文件中,这个文件是不可以直接编辑的,只可以用crontab -e 来编辑。cron启动后每过一份钟读一次这个文件,检查是否要执行里面的命令。因此此文件修改后不需要重新启动cron服务。
2、编辑/etc/crontab 文件配置cron
cron服务每分钟不仅要读一次/var/spool/cron内的所有文件,还需要读一次/etc/crontab,因此我们配置这个文件也能运 用 cron服务做一些事情。用crontab配置是针对某个用户的,而编辑/etc/crontab是针对系统的任务。此文件的文件格式是:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号
HOME=/ //使用者运行的路径,这里是根目录
# run-parts
01 * * * * root run-parts /etc/cron.hourly //每小时执行/etc/cron.hourly内的脚本
02 4 * * * root run-parts /etc/cron.daily //每天执行/etc/cron.daily内的脚本
22 4 * * 0 root run-parts /etc/cron.weekly //每星期执行/etc/cron.weekly内的脚本
42 4 1 * * root run-parts /etc/cron.monthly //每月去执行/etc/cron.monthly内的脚本
大家注意"run-parts"这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名了。
--------------------------------------
基本格式 :
* * * * * command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
crontab文件的一些例子:
30 21 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每晚的21:30重启lighttpd 。
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每月1、10、22日的4 : 45重启lighttpd 。
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每周六、周日的1 : 10重启lighttpd 。
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启lighttpd 。
0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每星期六的11 : 00 pm重启lighttpd 。
* */1 * * * /usr/local/etc/rc.d/lighttpd restart
每一小时重启lighttpd
* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
晚上11点到早上7点之间,每隔一小时重启lighttpd
0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
每月的4号与每周一到周三的11点重启lighttpd
0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
一月一号的4点重启lighttpd
日志查询方法
http://www.iteye.com/topic/620950
关于查找zip日志文件里关键字的搜索
[root@stageserver DTS]# find . -name '*.zip'| xargs -I {} zipgrep '20:17:19:274' {}|more
压缩文件直接查看查找 zcat zmore zless zgrep zdiff vi
http://blog.chinaunix.net/u3/103972/showart.php?id=2178838
关键字附近的信息 zgrep -A 或 -B 或 -C或 -E string file.gz (-A after -B before -C 上下都取 -E 正则 )
关键字之间的信息 sed -n '/string1/,/string2/' file
最初一段 sed -n '1,np' file
最后一段 tail -n n file, tail -f file
压缩文件直接查看、查找 : zcat ,zmore, zless zgrep zdiff vi 。
这是单个压缩文件,如果是压缩的目录呢? zipgrep
zipgrep -C3 'Send sms failed!' log0423_03_00.zip|more
zipgrep -C3 -C和数字之间无空格
grep -l ‘关键字’ 只显示包括关键字的文件 grep -n 显示行号
压缩 gzip , zip desfile.zip sourcefile
增加或修改压缩包内的文件 zip -r product.zip product//opmn.xml
解压缩 unzip -x(排除) 只解压某些文件 unzip file.zip somefileforunziplist
cp 如果遇到nfs共享目录尽量使用绝对路径
搜索历史命令 history|grep -E 'grep|sed|more|tail'
先grep搜索大一点范围的内容到文件再到此文件仔细找具体内容
linux系统运维常用命令
http://blogold.chinaunix.net/u3/107531/showart_2113630.html
1. 删除 0 字节文件
find -type f -size 0 -exec rm -rf {} \;
2. 查看进程
按内存从大到小排列
ps -e -o "%C : %p : %z : %a"|sort -k5 -nr
3. 按 cpu 利用率从大到小排列
ps -e -o "%C : %p : %z : %a"|sort -nr
4. 打印说 cache 里的 URL
grep -r -a jpg /data/cache/* | strings | grep "http:" | awk -F'http:' '{print "http:"$2;}'
5. 查看 http 的并发请求数及其 TCP 连接状态 :
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
6. sed -i '/Root/s/no/yes/' /etc/ssh /sshd_config sed 在这个文里 Root 的一行,匹配 Root 一行,将 no 替换 成 yes.
7.1. 如何杀掉 mysql 进程:
ps aux |grep mysql |grep -v grep |awk '{print $2}' |xargs kill -9 ( 从中了解到 awk 的用途 )
killall -TERM mysqld
kill -9 `cat /usr/local/apache2/logs/httpd.pid` 试试查杀进程 PID
8. 显示运行 3 级别开启的服务 :
ls /etc/rc3.d/S* |cut -c 15- ( 从中了解到 cut 的用途,截取数据 )
9. 如何在编写 SHELL 显示多个信息,用 EOF
cat << EOF
+--------------------------------------------------------------+
| === Welcome to Tunoff services === |
+--------------------------------------------------------------+
EOF
10. for 的巧用 ( 如给 mysql 建软链接 )
cd /usr/local/mysql/bin
for i in *
do ln /usr/local/mysql/bin/$i /usr/bin/$i
done
11. 取 IP 地址:
ifconfig eth0 |grep "inet addr:" |awk '{print $2}'|cut -c 6- 或者
ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'
12. 内存的大小 :
free -m |grep "Mem" | awk '{print $2}'
13.
netstat -an -t | grep ":80" | grep ESTABLISHED | awk '{printf "%s %s\n",$5,$6}' | sort
14. 查看 Apache 的并发请求数及其 TCP 连接状态:
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
15. 因为同事要统计一下服务器 下面所有的 jpg 的文件的大小 , 写了个 shell 给他来统计 . 原来用 xargs 实现 , 但他一次处理一部分 , 搞的有多个总和 ...., 下面的命令 就能解决啦 .
find / -name *.jpg -exec wc -c {} \;|awk '{print $1}'|awk '{a+=$1}END{print a}'
CPU 的数量(多核算多个 CPU , cat /proc/cpuinfo |grep -c processor )越多,系统 负载越低,每秒能处理的请求数也越多。
---------------------------------------------------------------------------------------
16 CPU 负载 # cat /proc/loadavg
检查前三个输出值是否超过了系统逻辑 CPU 的 4 倍。
18 CPU 负载 #mpstat 1 1
检查 %idle 是否过低 ( 比如小于 5%)
19 内存空间 # free
检查 free 值是否过低 也可以用 # cat /proc/meminfo
20 swap 空间 # free
检查 swap used 值是否过高 如果 swap used 值过高,进一步检查 swap 动作是否频繁:
# vmstat 1 5
观察 si 和 so 值是否较大
21 磁盘空间 # df -h
检查是否有分区使用率 (Use%) 过高 ( 比如超过 90%) 如发现某个分区空间接近用尽,可以进入该分区的挂载点,用以下命令找出占用空间最多的文件或目录:
# du -cks * | sort -rn | head -n 10
22 磁盘 I/O 负载 # iostat -x 1 2
检查 I/O 使用率 (%util) 是否超过 100%
23 网络负载 # sar -n DEV
检查网络流量 (rxbyt/s, txbyt/s) 是否过高
24 网络错误 # netstat -i
检查是否有网络错误 (drop fifo colls carrier) 也可以用命令: # cat /proc/net/dev
25 网络连接数目 # netstat -an | grep -E “^(tcp)” | cut -c 68- | sort | uniq -c | sort -n
26 进程总数 # ps aux | wc -l
检查进程个数是否正常 ( 比如超过 250)
27 可运行进程数目 # vmwtat 1 5
列给出的是可运行进程的数目,检查其是否超过系统逻辑 CPU 的 4 倍
28 进程 # top -id 1
观察是否有异常进程出现
29 网络状态 检查 DNS, 网关等是否可以正常连通
30 用户 # who | wc -l
检查登录用户是否过多 ( 比如超过 50 个 ) 也可以用命令: # uptime
31 系统日志 # cat /var/log/rflogview/*errors
检查是否有异常错误记录 也可以搜寻一些异常关键字,例如:
# grep -i error /var/log/messages
# grep -i fail /var/log/messages
32 核心日志 # dmesg
检查是否有异常错误记录
33 系统时间 # date
检查系统时间是否正确
34 打开文件数目 # lsof | wc -l
检查打开文件总数是否过多
35 日志 # logwatch –print 配置 /etc/log.d/logwatch.conf ,将 Mailto 设置为自己的 email 地址,启动 mail 服务 (sendmail 或者 postfix ) ,这样就可以每天收到日志报告了。
缺省 logwatch 只报告昨天的日志,可以用 # logwatch –print –range all 获得所有的日志分析 结果。
可以用 # logwatch –print –detail high 获得更具体的日志分析结果 ( 而不仅仅是出错日志 ) 。
36. 杀掉 80 端口相关的进程
lsof -i :80|grep -v "PID"|awk '{print "kill -9",$2}'|sh
37. 清除僵死进程。
ps -eal | awk '{ if ($2 == "Z") {print $4}}' | kill -9
38.tcpdump 抓包 ,用来防止 80 端口被人攻击时可以分析数据
# tcpdump -c 10000 -i eth0 -n dst port 80 > /root/pkts
39. 然后检查 IP 的重复数 并从小到大排序 注意 "-t\ +0" 中间是两个空格
# less pkts | awk {'printf $3"\n"'} | cut -d. -f 1-4 | sort | uniq -c | awk {'printf $1" "$2"\n"'} | sort -n -t\ +0
40. 查看有多少个活动的 php -cgi 进程
netstat -anp | grep php-cgi | grep ^tcp | wc -l
chkconfig --list | awk '{if ($5=="3:on") print $1}'
41.kudzu 查看网卡型号
kudzu --probe --class=network
匹配中文字符的正则表达式: [\u4e00-\u9fa5]
评注:匹配中文还真是个头疼的事,有了这个表达式就好办了
匹配双字节字符 ( 包括汉字在内 ) : [^\x00-\xff]
评注:可以用来计算字符串的长度(一个双字节字符长度计 2 , ASCII 字符计 1 )
匹配空白行的正则表达式: \n\s*\r
评注:可以用来删除空白行
匹配 HTML 标记的正则表达式: <(\S*?)[^>]*>.*?</\1>|<.*? />
评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力
匹配首尾空白字符的正则表达式: ^\s*|\s*$
评注:可以用来删除行首行尾的空白字符 ( 包括空格、制表符、换页符等等 ) ,非常有用的表达式
匹配 Email 地址的正则表达式: \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
评注:表单验证时很实用
匹配网址 URL 的正则表达式: [a-zA-z]+://[^\s]*
评注:网上流传的版本功能很有限,上面这个基本可以满足需求
匹配帐号是否合法 ( 字母开头,允许 5-16 字节,允许字母数字下划线 ) : ^[a-zA-Z][a-zA-Z0-9_]{4,15}$
评注:表单验证时很实用
匹配国内电话号码: \d{3}-\d{8}|\d{4}-\d{7}
评注:匹配形式如 0511-4405222 或 021-87888822
匹配腾讯 QQ 号: [1-9][0-9]{4,}
评注:腾讯 QQ 号从 10000 开始
匹配中国邮政编码: [1-9]\d{5}(?!\d)
评注:中国邮政编码为 6 位数字
匹配身份证: \d{15}|\d{18}
评注:中国的身份证为 15 位或 18 位
匹配 ip 地址: \d+\.\d+\.\d+\.\d+
评注:提取 ip 地址时有用
匹配特定数字:
^[1-9]\d*$ // 匹配正整数
^-[1-9]\d*$ // 匹配负整数
^-?[1-9]\d*$ // 匹配整数
^[1-9]\d*|0$ // 匹配非负整数(正整数 + 0 )
^-[1-9]\d*|0$ // 匹配非正整数(负整数 + 0 )
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ // 匹配正浮点数
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ // 匹配负浮点数
^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ // 匹配浮点数
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$ // 匹配非负浮点数(正浮点数 + 0 )
^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$ // 匹配非正浮点数(负浮点数 + 0 )
评注:处理大量数据时有用,具体应用时注意修正
匹配特定字符串:
^[A-Za-z]+$ // 匹配由 26 个英文字母组成的字符串
^[A-Z]+$ // 匹配由 26 个英文字母的大写组成的字符串
^[a-z]+$ // 匹配由 26 个英文字母的小写组成的字符串
^[A-Za-z0-9]+$ // 匹配由数字和 26 个英文字母组成的字符串
^\w+$ // 匹配由数字、 26 个英文字母或者下划线组成的字符串
评注:最基本也是最常用的一些表达式
相关推荐
Linux 目录架构和文件系统详解 Linux 系统的目录架构是由 FHS(Filesystem Hierarchy Standard)标准所定义的,其主要目的是为了让用户和开发者更容易地管理和维护 Linux 系统。下面是 Linux 目录架构的详细解释: ...
crontab -u root -e # 编辑内容 加入以下语句 每十分钟同步一次时间 */10 * * * * /usr/sbin/ntpdate ntp1.aliyun.com 第二天发现不起作用。 手动设置下,执行一下语句。 /usr/sbin/ntpdate ntp1.aliyun.com 发现...
Linux Crontab 定时任务 命令详解 Linux Crontab 是一个强大的定时任务命令,用于在指定的时间间隔执行特定的命令或程序。Crontab 命令的功能是在一定的时间间隔调度一些命令的执行,通过编写 Crontab 文件来实现。...
在Linux系统中,Crontab(也称为cron table)是一个非常重要的工具,用于安排周期性的任务,例如定期备份、日志清理、系统维护等。在Linux CentOS 7(C7)环境中,通常使用RPM(Red Hat Package Manager)包管理系统...
Linux应急响应——SSH暴力破解+crontab隐藏后门——事件复现(含靶场环境)下载地址,真实有效,亲测可用。
rsync服务器的搭建相对简单,由于每个管理员的需求可能不同,因此许多Linux发行版仅提供软件安装,不包含预配置的服务器设置。rsync服务器的用途广泛,既可以在本地进行备份,也可以跨主机进行备份。对于重要的...
zlog+cronolog+crontab+logrotate源码 如何交叉编译至下位机可参考我的文章: https://blog.csdn.net/u010505080/article/details/84819042
### Linux Crontab 详解 #### 一、Cron与Crontab简介 在Linux系统中,`cron` 是一个后台服务程序(daemon),用于调度周期性任务。它按照预定的时间间隔执行用户定义的任务,例如运行脚本或执行命令等。`crontab` ...
当我们在 Linux 系统中使用 crontab 执行 jar 文件时,输出结果中出现中文乱码的原因是由于 Unix/Linux 下的 crontab 环境与用户环境的差异。通常情况下,用户环境中会设置一些环境变量,例如语言环境变量 LANG,...
linux crontab 命令,最小的执行时间是一分钟。如需要在小于一分钟内重复执行,可以有两个方法实现。 1、使用延时来实现每N秒执行 创建一个php做执行动作,非常简单,就是把当前时间写入log。 <?php file_put_...
crontab是linux下最最常用的定时任务,本文档详细介绍了使用方法,供参考
Linux 服务器性能监控之 nmon Nmon 是一款计算机性能系统监控工具,因其免费、体积小、安装简单、耗费资源低而广泛应用于 AIX 和 Linux 系统。通过 Nmon,可以轻松地监控系统的 CPU、内存、网络、硬盘、文件系统、...
- **Crontab**:Unix/Linux系统中的一个工具,用于设置周期性的任务调度。 #### 三、准备工作 ##### 1. 安装Selenium库 ```bash sudo pip install selenium ``` ##### 2. 安装Chromedriver - **下载**:根据...
例如,添加到crontab的条目`0 12 * * * * /usr/sbin/ntpdate 192.168.0.1`会在每天12点同步时间。 使用NTPd服务优于`ntpdate`加cron的组合,因为NTPd能够平滑地调整时间,减少了对系统服务的影响,并且可以校正CPU ...
2011-11-22 19:05:00 1321959900 /var/www/script/crontab/dk/event/online_time/count.php script run begin 2011-11-22 19:07:14 1321960034 /var/...
标题中的“使用Mutt+msmtp+crontab监控主机磁盘使用率并定时发送邮件通知”描述了一个Linux运维方案,它利用Mutt作为邮件客户端,msmtp作为SMTP发送代理,以及crontab来定期执行任务,监控服务器磁盘使用情况并在...