Press "Enter" to skip to content

作者: kiccleaf

Linux CentOS系统crontab运行定时任务

一般情况下,系统默认都已经安装好,如果发现不能使用可以用以下命令进行安装
yum install crontabs

说明:
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置

1,crontab命令

功能说明:设置计时器。

语  法:crontab [-u <用户名称>][配置文件] 或 crontab [-u <用户名称>][-elr]

补充说明:cron是一个常驻服务,它提供计时器的功能,让用户在特定的时间得以执行预设的指令或程序。只要用户会编辑计时器的配置文件,就可以使 用计时器的功能。其配置文件格式如下:
Minute Hour Day Month DayOFWeek Command

参  数:
-e  编辑该用户的计时器设置。
-l  列出该用户的计时器设置。
-r  删除该用户的计时器设置。
-u<用户名称>  指定要设定计时器的用户名称。

2,crontab 格式

基本格式 :
* *  *  *  *  command
分 时 日 月 周  命令

第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列 表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令

# Use the hash sign to prefix a comment
# +---------------- minute (0 - 59)
# |  +------------- hour (0 - 23)
# |  |  +---------- day of month (1 - 31)
# |  |  |  +------- month (1 - 12)
# |  |  |  |  +---- day of week (0 - 7) (Sunday=0 or 7)
# |  |  |  |  |
# *  *  *  *  *  command to be executed

配备自己的任务
crontab -e

然后输入自己执行的Shell文件地址或是可执行文件的地址

查看任务
crontab -l

网络上找的和自己写的一些crontab文件的例子:
每天00:00做nginx日志切割
00 00 * * * /bin/bash /data/cut_nginx_log.sh

59 23 * * * /etc/init.d/nginx restart
每晚的23:59重启 nginx。

45 4 1,10,22 * * /etc/init.d/nginx restart
每月1、 10、22日的4 : 45重启nginx。

10 1 * * 6,0 /etc/init.d/nginx restart
每周六、周日的1 : 10重启nginx。

0,30 18-23 * * * /etc/init.d/nginx restart
每天18 : 00至23 : 00之间每隔30分钟重启nginx。

0 23 * * 6 /etc/init.d/nginx restart
每星期六的11 : 00 pm重启nginx。

* */1 * * * /etc/init.d/nginx restart
每一小时重启nginx

* 23-7/1 * * * /etc/init.d/nginx restart
晚上11点到早上7点之间,每 隔一小时重启nginx

0 11 4 * mon-wed /etc/init.d/nginx restart
每月的4号与每周一到周三 的11点重启nginx

0 4 1 jan * /etc/init.d/nginx restart
一月一号的4点重启nginx

*/30 * * * * /usr/sbin/ntpdate 210.72.145.20
每半小时同步一下时间

Leave a Comment

windows 2008引导修复

Ghost后 windows 2008 不能启动

今天使用Ghost还原windows 2008后,不能启动的问题,重启后出现 修复系统选项 采用下面帖子中的部分命令搞定之。

操作步骤:
1.使用系统盘启动

2.选择“修复windows系统”, 调出cmd命令提示符。在命令提示符中输入:

Bootrec.exe /fixmbr

Bootrec /fixboot

bootrec /RebuildBcd

bcdboot c:\windows /s c:

3.重启系统就可以进入系统了。

Leave a Comment

最新synergy配置多台电脑间共享一套鼠标键盘

Synergy 是一个可以多台电脑之间共享鼠标键盘的软件.因为电脑很多,被多个鼠标键盘搞得手忙脚乱的朋友有福了.利用这个软件可以实现多屏同时操作的功能.除了窗口不能跨屏幕外,剪贴板,鼠标,键盘都能很好地共享,而且这个软件支持 Linux, Windows 和Mac.我的工作环境有二台电脑,经常为多个键盘烦恼.这下可以很方便操作了.
我的环境:Win2008+Win7 都是x64位的,所以下载的时候选择了最新版本

官方介绍:
Synergy允许您轻松地分享你的鼠标和键盘之间 你的办公桌上多台计算机,它的自由和开放源码。 只要你的鼠标移出一台计算机的屏幕边缘 另一个。你甚至可以分享您的剪贴板。所有你需要的 是一个网络连接。 Synergy是跨平台(工程 在Windows,Mac OS X和Linux)。

微软Windows
1.4.7的Beta版本: 32位,64位
1.3.8稳定版本: 32位, 64位

下载地址:http://synergy-foss.org/zh/xiazai/

主控端配置界面:

主控端添加被控端配置:

被控端配置界面:

Leave a Comment

JS实现儒略日的计算

在网络上有各种各样的计算方法,相对来讲都是接近但不准确,所以自己动手修改了一下,其实也就是简单的计算,把小时,分钟,秒这些去掉。计算出来的结果就相对于符合了。

现在的公历起源于埃及历,由古罗马的恺撒在公元前46年制定的,365日作为一年,单月为大月31天,双月为小月30天,4年一闰,称为“儒略历”或“恺撒历”。1582年罗马教皇格里高利十三世(Gregorius XⅢ)对“儒略历”又进行修改,规定被4整除的年为闰年,但逢百之年只有能被400除尽才能是闰年。这就是使用至今的“格里历”。教皇于1582年10月4日还下令将次日(即原10月5日)定为10月15日,把春分日又恢复为3月21日。

儒略日(Julian day,JD)是由法国学者 Joseph Justus Scaliger(1540-1609)发明的,是天文学上不用一种不用年、月的长期纪日法,用它可以很方便地计算到两时间点间以天数计量的时间间隔。儒略日以公元前4713年儒略历1月1日格林威治平午为起算日期,以7980年为一个周期,每天顺数而下,流水计日。儒略日的这种计算方法相当方便,获得了天文界内的一致采用,是天文计算中最为重要的计算基准。

例如:JD=245 191 9.34230,它意味着距儒略周期的开始已经逝去了2451919天。而小数点后的“.34230”代表这天的时间(“15:12:54 EST”),在天体位置计算中是最具信息量的数据。再比如世界时公元2009年3月1号的儒略日是2454891.8333333335天。

注意,”儒略日(julian Day)” 与”儒略历(Julian Calendar)”指的不是同一概念。

由于儒略日的表达数值太长,需要7位数字表示天数,因此,后来又出现了一种约化儒略日(Modified Julian Day,MJD)的记法,MJD = JD – 2,400,000.5,即约化儒略日的起算点在1858年11月16日平午。之所以采用约化儒略日的表达方法,主要有一下2个方面的考虑:

1.日期天数的计算往往习惯以午夜时分起算,而不是正午。
2.在1859至2130年之间,只需要5位数字来表示日期就够了,而不需要全部的7位数字

因此MJD 0就等于JD 2400000.5。对于计算机来说,MJD也意味着更少的存储单元

JS脚本代码

<script>
	var now = new Date();
    var month = now.getUTCMonth() + 1;
    var day = now.getUTCDate();
    var year = now.getUTCFullYear();

function computes()   
{
	var y = eval(year);
	var m = eval(month);
	var d = eval(day);


	var extra = 100.0*y + m - 190002.5;
	var rjd = 367.0*y;
	rjd -= Math.floor(7.0*(y+Math.floor((m+9.0)/12.0))/4.0);
	rjd += Math.floor(275.0*m/9.0);
	rjd += d;

	rjd += 1721013.5;
	rjd -= 0.5*extra/Math.abs(extra);
	rjd += 0.5;
	form.results.value = rjd;
}
</script>
<form name="form" id="form">

<input text="text" name="results" id="results">
</form>
<script>
computes();
</script>

Leave a Comment

TSQL 数据库某字段内容批量替换

由于数据库中存在某个字段某些内容,需要整体替换,如http://www.kiccleaf.com 替换成http://www.qimutian.com 这样的方法,如果程序跑,那是要先读取出来,然后替换后再写入回去。麻烦。
保险点操作先看看select 替换结果:
其实只要替换kiccleaf为qimutian就好了。

select REPLACE(URL,'kiccleaf','qimutian')  from Tables

实际更新语句

update Tables set URL=REPLACE(URL,'kiccleaf','qimutian')

总结:批量替换,速度超级快!工作量省不少。

Leave a Comment

FreeBSD8.2系统安装视频[原创]

FreeBSD系统最小化安装其实几分钟就搞定了,以最快速的速度操作的话,我估计两分钟就可以安装完成。首先这里放上最小安装的视频,以后慢慢把系统的配置视频放上来。
[wposflv src=”http://www.kiccleaf.com/flv/FreeBSD8.2.flv” height=”400″ width=”600″]

Leave a Comment

采用Linux性能监测工具dstat来分析系统资源情况

日常管理中使用需要经常查看服务器状态和性能,比如IO占用情况,及内存使用情况,硬盘,CPU等等。网络上搜罗了一下,这个dstat软件还是比较不错能满足日常分析。本人采用的是X64系统,在CentOS6.2系统下采用yum进行安装dstat软件
默认情况它会收集 cpu、disk、net、paging、system 数据,一秒钟收集一次

[root@kiccleaf ~]# dstat  #运行命令是否已经安装
-bash: dstat: command not found   #没有找到此命令
[root@kiccleaf ~]# yum install dstat   #进行安装
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * extras: mirrors.163.com
 * updates: mirrors.163.com
base                                            | 3.7 kB     00:00     
extras                                          | 3.5 kB     00:00     
updates                                         | 3.5 kB     00:00     
updates/primary_db                              | 654 kB     00:02     
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package dstat.noarch 0:0.7.0-1.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=======================================================================
 Package       Arch           Version               Repository    Size
=======================================================================
Installing:
 dstat         noarch         0.7.0-1.el6           base         144 k

Transaction Summary
=======================================================================
Install       1 Package(s)

Total download size: 144 k
Installed size: 660 k
Is this ok [y/N]: y  #输入y进行安装
Downloading Packages:
dstat-0.7.0-1.el6.noarch.rpm                    | 144 kB     00:01     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : dstat-0.7.0-1.el6.noarch                            1/1 

Installed:
  dstat.noarch 0:0.7.0-1.el6                                           

Complete!
[root@kiccleaf ~]# dstat -d   #查看硬盘IO操作
-dsk/total-
 read  writ
 861k   90k
   0     0 
   0    68k
4096B 1216k
   0   112k
[root@kiccleaf ~]# dstat -h   #查看帮助文档
Usage: dstat [-afv] [options..] [delay [count]]
Versatile tool for generating system resource statistics

Dstat options:
  -c, --cpu              enable cpu stats 显示CPU情况
     -C 0,3,total           include cpu0, cpu3 and total
  -d, --disk             enable disk stats 显示磁盘情况
     -D total,hda           include hda and total
  -g, --page             enable page stats
  -i, --int              enable interrupt stats
     -I 5,eth2              include int5 and interrupt used by eth2
  -l, --load             enable load stats
  -m, --mem              enable memory stats 显示内存情况
  -n, --net              enable network stats 显示网络情况
     -N eth1,total          include eth1 and total 可以指定网络接口
  -p, --proc             enable process stats
  -r, --io               enable io stats (I/O requests completed)
  -s, --swap             enable swap stats 显示swap情况
     -S swap1,total         include swap1 and total 可以指定多个swap
  -t, --time             enable time/date output
  -T, --epoch            enable time counter (seconds since epoch)
  -y, --sys              enable system stats

  --aio                  enable aio stats
  --fs, --filesystem     enable fs stats
  --ipc                  enable ipc stats 报告IPC消息队列和信号量的使用情况
  --lock                 enable lock stats
  --raw                  enable raw stats
  --socket               enable socket stats
  --tcp                  enable tcp stats
  --udp                  enable udp stats
  --unix                 enable unix stats
  --vm                   enable vm stats

  --plugin-name          enable plugins by plugin name (see manual)
  --list                 list all available plugins

  -a, --all              equals -cdngy (default) 使用-cdngy 缺省的就是这样显示
  -f, --full             automatically expand -C, -D, -I, -N and -S lists 使用 -C, -D, -I, -N and -S 显示
  -v, --vmstat           equals -pmgdsc -D total 使用-pmgdsc -D 显示

  --bw, --blackonwhite   change colors for white background terminal
  --float                force float values on screen
  --integer              force integer values on screen
  --nocolor              disable colors (implies --noupdate)
  --noheaders            disable repetitive headers 只显示一次表头以后就不显示了,使用重定向写入文件时很有用
  --noupdate             disable intermediate updates
  --output file          write CSV output to file

delay is the delay in seconds between each update (default: 1)
count is the number of updates to display before exiting (default: unlimited)

较为长用的命令,来观察系统运行情况
#如果你想10秒收集一次,就输入: dstat -cdlmnpsy 10

[root@kiccleaf ~]# dstat -cdlmnpsy
----total-cpu-usage---- -dsk/total- ---load-avg--- ------memory-usage----- -net/total- ---procs--- ----swap--- ---system--
usr sys idl wai hiq siq| read  writ| 1m   5m  15m | used  buff  cach  free| recv  send|run blk new| used  free| int   csw 
  0   0  99   0   0   0| 104k   14k|   0    0    0|66.9M 8332k 81.5M  837M|   0     0 |  0   0 1.3|   0  2016M|  65    44 
  0   0 100   0   0   0|   0     0 |   0    0    0|66.9M 8332k 81.5M  837M|  60B 1354B|  0   0   0|   0  2016M|  28    17 
  0   0 100   0   0   0|   0     0 |   0    0    0|66.9M 8332k 81.5M  837M|  60B  522B|  0   0   0|   0  2016M|  24    17 
  0   0 100   0   0   0|   0     0 |   0    0    0|66.9M 8332k 81.5M  837M|  60B  522B|  0   0   0|   0  2016M|  27    18 
  0   0 100   0   0   0|   0     0 |   0    0    0|66.9M 8332k 81.5M  837M| 552B  522B|  0   0   0|   0  2016M|  28    23 
  0   0 100   0   0   0|   0     0 |   0    0    0|66.9M 8332k 81.5M  837M|  60B  522B|  0   0   0|   0  2016M|  26    17 
  0   0 100   0   0   0|   0     0 |   0    0    0|66.9M 8332k 81.5M  837M| 491B  522B|  0   0   0|   0  2016M|  31    17

统计CPU,IO ,network,system load

[root@kiccleaf ~]# dstat -cndymlp -N total -D total 5 25
----total-cpu-usage---- -net/total- -dsk/total- ---system-- ------memory-usage----- ---load-avg--- ---procs---
usr sys idl wai hiq siq| recv  send| read  writ| int   csw | used  buff  cach  free| 1m   5m  15m |run blk new
  0   0  99   0   0   0|   0     0 |  96k   13k|  62    42 |66.8M 8332k 81.5M  837M|   0    0    0|  0   0 1.2
  0   0 100   0   0   0| 218B  636B|   0     0 |  27    19 |66.9M 8332k 81.5M  837M|   0    0    0|  0   0   0
  0   0 100   0   0   0| 242B  477B|   0     0 |  29    18 |66.9M 8332k 81.5M  837M|   0    0    0|  0   0   0
  0   0 100   0   0   0| 324B  479B|   0     0 |  28    18 |66.9M 8332k 81.5M  837M|   0    0    0|  0   0   0

统计网卡1的信息

[root@kiccleaf ~]# dstat -cdnsil -D hda -N eth1
Module dstat_disk24old failed to load. (No suitable block devices found to monitor)
Module dstat_net failed to load. (No suitable network interfaces found to monitor)
----total-cpu-usage---- ----swap--- ----interrupts--- ---load-avg---
usr sys idl wai hiq siq| used  free|  17    18    19 | 1m   5m  15m 
  0   0  99   0   0   0|   0  2016M|   4     0     3 |   0    0    0
  0   0 100   0   0   0|   0  2016M|   0     0     3 |   0    0    0
  0   0 100   0   0   0|   0  2016M|   0     0     4 |   0    0    0
  0   0 100   0   0   0|   0  2016M|   0     0     3 |   0    0    0
  0   0 100   0   0   0|   0  2016M|   0     0     4 |   0    0    0

内存使用情况

[root@kiccleaf ~]# dstat -vmstat
Terminal width too small, trimming output.
---procs--- ------memory-usage----- ---paging-- -dsk/total- ---system-- ----total-cpu-usage---- ------memory-usage----- ----swap--- ----system---- ----total-cpu-usage---->
run blk new| used  buff  cach  free|  in   out | read  writ| int   csw |usr sys idl wai hiq siq| used  buff  cach  free| used  free|  date/time   |usr sys idl wai hiq siq>
0.0   0 1.1|66.8M 8332k 81.5M  837M|   0     0 |  88k   12k|  59    40 |  0   0  99   0   0   0|66.8M 8332k 81.5M  837M|   0  2016M|05-01 21:52:57|  0   0  99   0   0   0>
  0   0   0|66.8M 8340k 81.5M  837M|   0     0 |   0    12k|  40    27 |  0   0 100   0   0   0|66.8M 8340k 81.5M  837M|   0  2016M|05-01 21:52:58|  0   0 100   0   0   0>
  0   0   0|66.8M 8340k 81.5M  837M|   0     0 |   0     0 |  31    21 |  0   0 100   0   0   0|66.8M 8340k 81.5M  837M|   0  2016M|05-01 21:52:59|  0   0 100   0   0   0>
  0   0   0|66.8M 8340k 81.5M  837M|   0     0 |   0     0 |  28    16 |  0   0 100   0   0   0|66.8M 8340k 81.5M  837M|   0  2016M|05-01 21:53:00|  0   0 100   0   0   0>
  0   0   0|66.8M 8340k 81.5M  837M|   0     0 |   0     0 |  36    19 |  0   0 100   0   0   0|66.8M 8340k 81.5M  837M|   0  2016M|05-01 21:53:01|  0   0 100   0   0   0>

Leave a Comment

安装CentOS系统基础配置

国内还是较多的镜像服务器的,163的速度还是不错的,所以本人一般都采用163下载更新。

最新的CentOS6.2 开机速度赞一个!强大的。
ISO下载地下:
http://mirrors.163.com/centos/6.2/isos/
有两个目录,可自己选择32位的,或是64位的,本人一般使用64位,好处地球人都知道。
i386/
x86_64/

OK,如果系统刚安装好,好么首先第一件要做的是配置好网卡

vi /etc/resolv.conf
#添加本地省份的DNS,如我在浙江杭州使用的是
nameserver 202.101.172.35
nameserver 202.101.172.47

第二步是配置好网卡IP(在CentOS6.1,6.2版本中如果选择最小安装,安装时没有配置网卡功能,需要登陆后再做修改)
DEVICE 网卡名称
HWADDR 网卡MAC地址
ONBOOT 配置启动
BOOTPROTO 配置静态化
BROADCAST 广播地址
IPADDR= ip地址
NETMASK 掩码
GATEWAY 网关

vi /etc/sysconfig/network-scripts/ifcfg-eth0
#修改或是添加
DEVICE="eth0"
HWADDR="00:0C:29:14:36:62"
ONBOOT="yes"
BOOTPROTO=static
BROADCAST=192.168.1.255
IPADDR=192.168.1.2
NETMASK=255.255.0.0
GATEWAY=192.168.1.1

第三步,关掉selinux,否则配置80,21访问时需要操作受权配置
SELINUX=enforcing 修改成 SELINUX=disabled

vi /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

第四步修改一下咱们的镜像下载地址

首先备份/etc/yum.repos.d/CentOS-Base.repo

    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

wget 下载工具如果没有安装简单的可以用以下命令进行安装

yum install -y wget

下载后可以改成为CentOS-Base.repo文件
CentOS4 下载地址

wget http://mirrors.163.com/.help/CentOS4-Base-163.repo

CentOS5

wget http://mirrors.163.com/.help/CentOS5-Base-163.repo

CentOS6

wget http://mirrors.163.com/.help/CentOS6-Base-163.repo

运行yum makecache生成缓存

第五步,可以更新系统了

yum update -y

有关防火墙的配置可以参考我之前写的文章

Iptables 指南
防火墙日常操作记录
iptables防火墙配置脚本
IPTABLES配置过虑蠕虫病毒

Leave a Comment

Nginx目录自动加斜线”/”

服务器配置成Nginx后,发现子目录结尾不加“/”会造成无法访问。这是大多数人从Apache转至nginx的问题。

如:http://www.kiccleaf.com/test 就无法正常访问,而http://www.kiccleaf.com/test/ 却可以正常访问。

解决方法在nginx.conf中增加:
找到http{ 然后在里面添加

http{
…
server_name_in_redirect off;
…
}
Leave a Comment