web界面管理memcache工具

http://www.junopen.com/memadmin/

貌似是国人写的,还不错,mark下

mark一个电话

今夜,nimo,一个小时,阳台,呵呵,记录下

linux下tar增量备份文件

linux备份真是太方便了,其实我们常用的tar就是很好的增量备份软件

使用 tar -g 参数进行增量备份实验

完整备份:

#建立测试路径与档案
mkdir test
touch test/{a,b,c};
在test下生成三个文件

#执行完整备份
tar -g snapshot -zcf backup_full.tar.gz test

#查看 tarball 内容
tar ztf backup_full.tar.gz
test/
test/a
test/b
test/c

增量备份:

#新增一个档案
touch test/d

#执行第一次的增量备份 (注意 tarball 档名)
tar -g snapshot -zcf backup_incremental_1.tar.gz test

#查看 tarball 内容
tar ztf backup_incremental_1.tar.gz
test/
test/d

#新增一个档案, 并异动一个档案内容
touch test/e
echo 123 > test/a

#执行第二次的增量备份 (注意 tarball 档名)
tar -g snapshot -zcf backup_incremental_2.tar.gz test

#查看 tarball 内容
tar ztf backup_incremental_2.tar.gz
test/
test/a
test/e

还原备份资料:

#清空测试资料
rm -rf test

#开始进行资料还原
tar zxf backup_full.tar.gz
tar zxf backup_incremental_1.tar.gz
tar zxf backup_incremental_2.tar.gz

#查看测试资料
ls test
a b c d e

使用 tar -u 参数进行增量备份

第一次备份:

#建立测试路径与档案
mkdir test
touch test/a test/b test/c

#备份资料
tar zcf backup.tar.gz test

#查看 tarball 内容
tar ztf backup.tar.gz
test/
test/a
test/b
test/c

增量备份:

#新增一个档案, 并异动一个档案内容
touch test/d
echo 123 > test/a

#执行增量备份 (-u 参数只能执行於未压缩的 tarball)
gunzip backup.tar.gz
tar uf backup.tar test
gzip backup.tar

#查看 tarball 内容
tar ztf backup.tar.gz
test/
test/a
test/b
test/c
test/
test/a
test/d

还原备份资料:

#清除测试资料
rm -rf test

#解包 tarball
tar zxf backup.tar.gz

#查看测试资料
ls test
a b c d

shell自动备份和压缩www目录和mysql数据库

rm -f /var/bkup/*
rm -f /var/www/html/shuaizhu.com/bkup.tar.gz
for i in databasea  databaseb  databasec
do
mysqldump -uroot -h localhost -ppwd $i>/var/bkup/$i$(date +’%y%m%d’).sql
done
zip -r /var/bkup/sql$(date+’%y%m%d’).zip /var/bkup/*.sql
zip -r /var/bkup/www$(date+’%y%m%d’).zip /var/www/html/*
tar -zcvf /var/www/html/shuaizhu.com/bkup.tar.gz /var/bkup/*.zip

以上教本运行后将会导出mysql数据库和压缩www目录,最终压缩到一个tar。gz文件中

www.shuaizhu.com原创

利用crontab每天定时执行这个文件,在另一台服务器上每天定时下载这个文件,即可达到备份的目的

本地脚本,用crontab挂着每天跑,可以自动下载和保留1个备份

rm -f /var/bkup/*.old

mv /var/bkup/xxxxxxxxbkup.tar.gz /var/bkup/xxxxxxxxbkup.tar.gz.old

mv /var/bkup/oooxxxxxxxxbkup.zip  /var/bkup/oooxxxxxxxxbkup.zip.old

wget -P /var/bkup -c -t 5 -T 999999 http://www.shuaizhu.com/xxxxxxxxbkup.zip

wget -P /var/bkup -c -t 5 -T 999999 http://www.shuaizhu.com/oooxxxxxxxxbkup.tar.gz

php in action

php经典图书,下载地址

download.csdn.net/detail/webzl/243601

经典vim插件之ctags

摘自:http://blog.csdn.net/tge7618291/article/details/42169

在公司台式机,ubuntu10.04系统上测试可用

此文章其他插件待测试

1 #=============================================================================
2  转载请注明出处: http://blog.csdn.net/tge7618291
8 #=============================================================================
1. 查看 key 相关信息说明的命令  :help keycodes
10
11 #=============================================================================
12 2. ctags
13 (1). 帮助手册查看
14     :help usr_29
15
16 (2). 功能
17     ctags的功能, 只要在unix/linux环境编程过的人都知道它的历害! 我在这也作个小
18     小介绍吧ndow=0: 对浏览代码非常的方便, 可以在函数, 变量之间跳来跳去等等.(注
19             意: 我这里说到的仅是小小的一部分!).
20
21 (3). 安装
22     首先, 下载ctags安装包, 然后解压并安装, 命令如下:
23     $ tar -xzvf ctags-5.6.tar.gz
24     $ cd ctags-5.6
25     $ make
26     # make install   // 需要root权限
27         或:
28         $ tar -xzvf ctags-5.7.tar.gz
29         $ cd ctags-5.7
30         $ ./configure
31         # make
32         # make install
33
34
35 (4). 使用方法
36     然后去你的源码目录, 如果你的源码是多层的目录, 就去最上层的目录, 在该目录下
37     运行命令: ctags -R
38     我现在以 vim71 的源码目录做演示
39     $ cd /home/nuoerll/vim71
40     $ ctags -R
41
42     此时在/home/nuoerll/vim71目录下会生成一个 tags 文件, 现在用vim打开
43     /home/nuoerll/vim71/src/main.c
44     $ vim /home/nuoerll/vim71/src/main.c
45
46     再在vim中运行命令:
47     :set tags=/home/nuoerll/vim71/tags
48     该命令将tags文件加入到vim中来, 你也可以将这句话放到~/.vimrc中去, 如果你经
49     常在这个工程编程的话.
50     对于经常在不同工程间编程, 可以在.vimrc中设置:
51         set tags=tags;    // ; 不能没有
52         set autochdir
53
54 (5). 使用例子
55     把光标定位到某一函数名上, 按下 Ctar + ], vim就可以自动切换到该函数定义处!
56     要返回只需要按下Ctrl + t .
57     更多用法, 在vim命令模式输入 :help usr_29 查看即可.
58
59

js读写cookie判断联盟cookie点击

原理很简单,首先检测cookie是不是存在,如果不存在则设置一个cookie值,有效时间为一个周期,如果存在则表示这个周期内已经点击过这个联盟了(设置周期与联盟有效期相同即可)
<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=GB2312">
        <script type="text/javascript">
            function cps(){
                var url='http://click.union.360buy.com/JdClick/?unionId=4424&t=1&to=http://www.360buy.com';
                var days=1;
                var name ='cps';
                var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
                var ret =null;
                if(arr=document.cookie.match(reg))
                {
                    //cookie seted
                    $ret=unescape(arr[2]);

                }
                else{
                    //cookie not found ,set it
                    var exp=new Date();
                    var value='xxvalue';
                    exp.setTime(exp.getTime()+days*24*60*60*1000);
                    document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
                    window.open(url);
                }

            }
        </script>

    </head>
    <body onload=cps()>
        <div>TODO write content</div>
        <div>TODO write content</div>
        <div>TODO write content</div>

    </body>
</html>

解决ubuntu终端中文乱码的问题

1 Alt+Ctrl+F1 进入第一个终端,发现中文乱码。
2 安装zhcon。

sudo apt-get install zhcon
/etc/environment中看到:
sudo gedit
/etc/environment
可以看到如下内容:

PATH=”/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games”
LANG=”zh_CN.????”


乱码的时候这个可能是GBK,现在改成  LANG=”zh_CN.UTF-8″
然后重启电脑,后来就OK 了

pman命令

转自: http://huoding.com/2011/09/07/112

所谓PMan,指的是PHP Man Pages,可以通过它方便的在命令行上查看PHP文档。它就好比Perl里的PerlDoc,或者Python中的PyDoc,亦或者Ruby里的Ri。

安装

假设你的系统已经存在pear命令了,那么接下来就是一招鲜了:

shell> pear install doc.php.net/pman

安装好后使用非常方便,就和Linux下常见的man命令一样的用法:

shell> pman strlen

显示效果上也和man命令一样,如下图所示:

扩展

以前我习惯于使用CHM格式的PHP文档,因为它的检索功能很方便,只要记住开头几个字母就能查到想要的内容,可惜坏消息是PMan在这方面比较衰,但是好消息是不用重复发明轮子,bash-completion已经实现了我们想要的大部分功能。

下面以CentOS为例(其它Linux可能有差异),前提是先安装EPEL,然后执行命令:

shell> yum install bash-completion

缺省会安装不少现成的bash-completion脚本,可以参考它们实现PMan的对应脚本:

shell> cat /usr/share/bash-completion/pman
# pman(1) completion

have pman &&
_pman()
{
    local cur manpath

    COMPREPLY=()

    cur="${COMP_WORDS[COMP_CWORD]}"

    manpath="$(tail -n 1 $(which pman))"
    manpath="$(echo ${manpath%/*} | awk '{print $NF}')"

    if [ -n "$cur" ]; then
        COMPREPLY=($manpath/man*/$cur*)
    else
        COMPREPLY=($manpath/man*/*)
    fi

    COMPREPLY=(${COMPREPLY[@]##*/})
    COMPREPLY=(${COMPREPLY[@]%.*.*})

    COMPREPLY=($(compgen -W '${COMPREPLY[@]}' -- "$cur"))

    return 0
} &&
complete -F _pman pman

接着还需要在指定目录做一个软连接以便激活脚本:

shell> ln -s /usr/share/bash-completion/pman /etc/bash_completion.d/pman

重新登录后,PMan就拥有按TAB键提示的功能了,如下图所示:

技巧

VIM是命令行下最常用的编辑器之一,PMan和VIM可以完美结合,在命令模式下键入如下指令,就可以即时显示函数的文档内容:

:!pman strlen

实际上还可以更方便些,编辑VIM配置文件,加入keywordprg设置:

shell> cat ~/.vimrc
autocmd FileType php setlocal keywordprg=pman

打开PHP文件后,把光标移动到某个函数下,按大写的K键即可查看函数的文档内容。如果想退出文档界面,回到VIM界面,只需按q键。

关于ubuntu下php的xdebug

今天在acer4741上的ubuntu上重新安装了下xdebug,发现几个问题点,记录下

1.安装就正常的

99  apt-get install php-cli
100  apt-get install php5-cli
101  whereis php
102  apt-get install php5-dev
103  apt-get install php5-xsl
104  pecl install xdebug
105  apt-get install php-pear
106  pecl install xdebug

2.需要注意的是后面的配置,默认弄好以后

zend_extension=”/usr/lib/php5/20090626+lfs/xdebug.so”

;extension=xdebug.so

xdebug.remote_enable=on

xdebug.remote_handler=dbgp

xdebug.remote_host=127.0.0.1

xdebug.remote_port=9000

需要这样配置,原来的 extension=xdebug.so
需要拿掉,不然netbeans运行的时候没有办法调试,直接就运行过去了