月度归档:2014年11月

Linux下如何备份指定目录,并排除不需要的目录

有时,我们需要将服务器上的某个目录打包,以方便我们下载传输。
例如 备份/data/webroot/uploads下所有文件,但要排除/data/webroot/uploads/temp目录。代码如下:

cd /data/webroot/
date=`date +%Y%m%d`
/bin/tar -zcvf /data/backup/uploads.${date}.tar.gz --exclude=uploads/temp  uploads

MySQL关联更新

MySQL关联多表进行update更新操作示例:

update product as a
join brand as b on a.brand_id = b.id
set a.brand_id = b.`relation_id`
where b.`relation_id` > 0;

MySQL自动备份脚本+Linux计划任务

通过参数指定备份数据库
保留最近7天备份文件

vi /data/script/mysql-backup-day.sh

#!/bin/sh

if [ $# != 1 ] ; then
echo "dbname error"
exit 1;
fi

# db="testdb"
db=$1
user="root"
password="root"
backup_dir="/data/backup/mysql-day/"
mysqldump="/usr/local/mysql/bin/mysqldump"

date=`date -d yesterday +%Y%m%d`
backup_file=${backup_dir}${db}"."${date}".sql"
$mysqldump -u$user -p$password $db -lF > $backup_file

# delete 7 day ago
date=`date -d '7 day ago' +%Y%m%d`
backup_file=${backup_dir}${db}"."${date}".sql"
rm -f $backup_file

chmod u+x /data/script/mysql-backup-day.sh
mkdir -p /data/backup/mysql-day
crontab -e

0 1 * * * /data/script/mysql-backup-day.sh testdb

 

MediaWiki使用记录

MediaWiki全球最著名的开源wiki程序,运行于PHP+MySQL环境。MediaWiki从2002年2月25日被作为维基百科全书的系统软件,并有大量其他应用实例。MediaWiki的开发得到维基媒体基金会的支持。

如何修改公共样式?
http://server/index.php/MediaWiki:Common.css

如何将“中文”链接到“汉语”条目?
[[汉语|中文]]

如果开启图片上传功能?
$wgEnableUploads = true;
参考http://zh.wikipedia.org/wiki/Help:%E5%9B%BE%E5%83%8F#.E8.B0.83.E6.95.B4.E5.A4.A7.E5.B0.8F

 

给UMeditor添加自定义按扭

UMeditor是UEditor的mini版本,特点是体积小巧和更快的加载速度,下面演示如何给UMeditor添加自定义按扭。

<!DOCTYPE HTML>
<html>
<head>

    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
    <title>给UMeditor添加自定义按扭</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <link href="themes/default/css/umeditor.css" type="text/css" rel="stylesheet">
    <script type="text/javascript" src="third-party/jquery.min.js"></script>
    <script type="text/javascript" charset="utf-8" src="umeditor.config.js"></script>
    <script type="text/javascript" charset="utf-8" src="umeditor.js"></script>
    <script type="text/javascript" src="lang/zh-cn/zh-cn.js"></script>

    <style>

        /*设置按扭样式*/
        .edui-icon-test{
           background-position: -380px 0;
        }
    </style>
    <script>

        window.UMEDITOR_CONFIG.toolbar = [
            // 加入一个 test
            'test | source | undo redo | bold italic underline strikethrough  forecolor backcolor | removeformat |',
            '| justifyleft justifycenter justifyright justifyjustify |',
            'link unlink | emotion image video | map',
            '| fullscreen'
        ];

        UM.registerUI('test',
                function(name) {
                    var me = this;
                    var $btn = $.eduibutton({
                        icon : name,
                        click : function(){
                           alert("test");
                        },
                        title: '测试'
                    });

                    this.addListener('selectionchange',function(){
                        //切换为不可编辑时,把自己变灰
                        var state = this.queryCommandState(name);
                        $btn.edui().disabled(state == -1).active(state == 1)
                    });
                    return $btn;
                }
        );

    </script>


</head>
<body>
<h1>给UMeditor添加自定义按扭</h1>

<!--style给定宽度可以影响编辑器的最终宽度-->
<script type="text/plain" id="myEditor" style="width:1000px;height:240px;">
    <p>这里我可以写一些输入提示</p>
</script>

<script type="text/javascript">
    //实例化编辑器
    var um = UM.getEditor('myEditor');
</script>

</body>
</html>

百度编辑器官网 http://ueditor.baidu.com

Yii如何做多条件like模糊查询+分页

//接收GET传值
$name = Yii::app()->request->getQuery(‘name’);
$age = Yii::app()->request->getQuery(‘age’);

$criteria = new CDbCriteria();

//拼装查询条件
if (!empty($name)) {
$criteria->addCondition(‘name like :name’);
$criteria->params[‘:name’] = ‘%’ . $name . ‘%’;
}
if (!empty($age)) {
$criteria->addCondition(‘age = :age’);
$criteria->params[‘:age’] = $age;
}

//分页
$page = new CPagination();
$page->pageSize = 20;
$page->itemCount = User::model()->count($criteria);
$page->applyLimit($criteria);

//排序
$criteria->order = ‘id Desc’;

//查询数据
$users = User::model()->findAll($criteria);

//加载视图
$this->render(‘index’, array(
‘data’ => $data,
‘page’ => $page,
));

Twig模板引擎使用

{{ “双引号中包含变量#{pageTitle}” }}

{% autoescape false %}
{{ str }}  {# 输出文章内容时,不做escape #}
{% endautoescape %}

字符串连接 ~
{% set pageTitle = category.name ~ ‘ – ‘ ~ front.siteInfo(‘name’) %}

 

Twig模版引擎简介

这是Twig的文档,Twig是一个快速、安全、灵活的PHP模板引擎。Twig被广泛运用于Web/PHP项目的开发,更多时候是集成到一些 PHP框架中,如Symfony 1.x、Symfony 2.x、Zend Framework 2.x、Yii Framework 2.x、Slim Framework 等等,当然你也可以在不使用任何框架的情况下直接使用Twig模版引擎来构建你的Web项目。 继续阅读