cidaemon.exe持续占用cpu资源

2011的夏天快到了,但是还没有到呢,机子已经欲火焚身了:

cidaemon.exe持续占用cpu资源

最高的时候cpu和显卡都是80多度徘徊,cpu占用一直在50%以上,我以为是天气原因。后来仔细怕长是cidaemon.exe进程,
cidaemon.exe是一个windows系统服务:Microsoft Indexing Service
cidaemon.exe is an indexing service which catalogues files on your computer to enable for faster file searches.

解决方法:

方法1,搜索中关闭:

启动了这个服务就会在电脑空闲的时候建立索引,所以机器会变慢! 可以通过以下的方法取消该服务 打开“我的电脑”->“搜索”—->“改变首选项”—->使用制作索引服务….—->选 “不,不要启用制作索引服务” 然后确定。

方法2,直接关闭服务:

控制面板——管理工具——服务——Indexing Service ——点右键关闭

用cpanel的cron jobs来备份mysql数据库和网站文件

进网站的cpanel,advanced菜单里面的Cron Jobs,

“Add New Cron Job”,时间看情况自己定,然后Command填写

mysqldump -utunpscom_user -ptunpscom_pass --opt tunpscom_db | bzip2 -c > /home/tunpscom/tunpscom_`/bin/date +"\%Y\%m\%d_\%H\%M\%S"`.sql.bz2

以上是备份数据库了,注意date %的格式,前面加入了反斜杆,如果不加反斜杆,会报错:

/bin/sh: -c: line 0: unexpected EOF while looking for matching ``'
/bin/sh: -c: line 1: syntax error: unexpected end of file

至今未搞懂是嘛原因。

备份网站:

tar cjvf wp_content_`/bin/date +"\%Y\%m\%d_\%H\%M\%S"`.tar.bz2 ~/public_html/wp-content/

注意时间不要备份得太勤了,否则主机就警告你了:

The account with the username ‘tunpscom’ (tunps.com), is running out of disk space.

Please remove some files from this account, or ask the administrator to increase your disk quota.

This account has used 101.22% (607.30 Megs) of its allocated disk space.

!! Do not respond to this message. Your reply will go nowhere. !!

bzip2也表示鸭梨很大:

bzip2: I/O or other error, bailing out. Possible reason follows.
bzip2: Disk quota exceeded
Input file = (stdin), output file = (stdout)
mysqldump: Got errno 32 on write

看32错误是嘛玩意儿:

[root@db1 cron.daily]# perror 32
OS error code  32:  Broken pipe

crontab定时备份mysql

rhel5的默认的/etc/crontab文件内容:

[root@localhost ~]# more /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

run-parts是一个bash脚本,可以运行指定目录的shell,将以下内容保存为*.sh,并保存在/etc/cron.daily目录:
前面的内容分为5个部分,分别是:分 时 日 月 周 , root表示以root用户权限运行
那么/etc/cron.daily下脚本将会在每天临晨4点2分的时候运行

mysqldump --opt tunpscom | bzip2 -c > /data/`date +%Y%m%d_%H%M%S`.bz2

反引号里面的内容是执行date命令,后面%指定日期格式,具体请man date。还有一点需要注意的是bzip2压缩出来的体积比gz小,但是压缩时间长,几百MB看不出来,如果上了G就很明显了。所以也可以用gzip压缩代替:

mysqldump --opt tunpscom | gzip -c > /data/`date +%Y%m%d_%H%M%S`.gz

然后需要将这个*.sh文件的权限修改:chmod 755,让大家都有rx权限。

生成的文件的大概是:20110426_030103.bz2。

ps:10G大小的文本文件用gzip压缩后大小在300MB左右,用bzip2压缩后大小在100MB左右。除了以上介绍的方法,可以使用
crontab -e 新建一个计划任务。
crontab -r 删除计划任务。
crontab -l 列出计划任务。

让codeigniter的oci8 db driver支持insert_id()

php_mysql模块有一个函数:mysql_insert_id

功能是

mysql_insert_id() 返回给定的 link_identifier 中上一步 INSERT 查询中产生的 AUTO_INCREMENT 的 ID 号。如果没有指定 link_identifier ,则使用上一个打开的连接。

说白了就是返回上一次insert的id号,但是oracle没有auto_increment属性,不能让字段自增,一般业内的解决方法是用sequence+trigger方案。今天需要取得oracle insert之后的id值,直接用上了codeigniter的$this->db->insert_id(),结果codeigniter报错提示:This feature is not available for the database you are using。我表示鸭梨很大,到底有好大?鸭梨山大:

/**
* Insert ID
*
* @access public
* @return integer
*/
function insert_id()
{
// not supported in oracle
return $this->display_error('db_unsupported_function');
}

既然都display_error了还返回的是interger。- -#
没办法codeigniter支持的数据库是主流的mysql,oracle是被抛弃的小孩。我们只能自己将其抚养成人了。
insert_id代码修改为:

function insert_id($tbl='')
{
$sql = "select " . $tbl . "_seq.currval as id from dual";
$statement = @ociparse($this->conn_id, $sql);
$row=@ociexecute($statement);
@ocifetchinto($statement, $row, OCI_ASSOC);
return $row['ID'];
}

加了一个$tbl参数,因为必须要传递$tbl,才能知道要查询的sequence,而且sequence要有一定的命名规范,比如:tablename_seq。

JsTree和jquery.validate冲突

I’m guessing you’re using version 1.6 of the validation library, take a look at the source here: http://ajax.microsoft.com/ajax/jQuery.Validate/1.6/jQuery.Validate.js

All the way at the bottom:

  $.extend($.fn, {
    delegate: function(type, delegate, handler) {
        return this.bind(type, function(event) {
            var target = $(event.target);
            if (target.is(delegate)) {
                return handler.apply(target, arguments);
            }
        });
    },
    triggerEvent: function(type, target) {
        return this.triggerHandler(type, [$.event.fix({ type: type, target: target })]);
    }
})
The problem is that 1.6 created the <code>$(selector).delegate()</code> function above, which is <strong>not</strong> jQuery core <a href="http://api.jquery.com/delegate/" rel="nofollow"><code>.delegate()</code></a>, the main issue is a naming conflict and the arguments/behavior aren't the same:
  • jQuery.validate: .delegate(type, delegate, handler)
  • jQuery core: .delegate( selector, eventType, handler )

Barring other details like context, the first issue is the first and second arguments are backwards.

Including jQuery.validate 1.6 breaks the .delegate() function which jsTree relies on. If you just upgrade to version 1.7+ of the validation plugin, this issue should go away, it calls its function validateDelegate after that.

两个插件都有delegate函数,jquery.validate 1.6覆盖掉了jstree的delegate,造成冲突,1.7+以上的版本将函数名修改为validateDelegate解决了冲突。

来源:http://stackoverflow.com/questions/3079425/jstree-conflicts-with-jquery-validate

正则表达式 mysql字段转oracle一例

某mysql字段如下:
`test_id` int(11) not null auto_increment comment ‘自增字段’,
而且有大量的这样字段需要转到oracle,首先我们知道oracle的字段描述里面是没有comment的,但是同时也需要保留comment信息。使用正则表达式来转换,用notepad++正则表达式替换:
查找目标:

comment(.*),

替换为:

,comment\1

\1表示的是(.*)的内容
最后替换为:
`staff_id` int(11) not null auto_increment ,– ‘自增字段’
然后去掉反引号,去掉auto_increment,手动加上constraint primary key。

sql语句格式化工具 SQL formatting tool

  • SQL Review – SQL formatting tool
    1. 一个java写的gui程序(运行需要安装jre),支持java,perl,php,c#,vb(asp)的语法输出。
    2. 支持设定关键字和语句的大小写
    3. 支持设定“字段分割符”逗号设定在头部还是尾部
    4. 支持设定压缩空格
    5. 设定行号
    6. 自定义包裹字段名的符号(默认是反引号)
    7. 自定义缩进
  • SQL Formatter
    1. 在线java applet,无需安装,免费,非开源。
    2. 和SQL Review一样,支持各种语言输出
    3. 原SQL支持:DB2/UDB/Oracle/Access/SQL Server/MySQL/Sybase/PostgreSQL/Informix
    4. 自定义缩进
    5. 各种复杂的换行配置
    6. 各种语句的空格、逗号设置
  • SQLFormat – Online SQL Formatting Service
    1. appspot站点,需要翻墙,有源码、API
    2. 去掉注释
    3. 语法高亮
    4. 支持文件上传
    5. 支持各种语言输出
  • T-SQL Tidy
    1. 各种各样的复杂设置
  • SQL and PL/SQL Formatter
  • http://www.ascdesc.com/ 关键字大写转化