同步文件Rsync命令

环境
A:10.200.11.224
B:10.200.11.230
需求:将A机器上文件推送到B机器
将A机器的pubkey添加到B机器authorized_keys当中
执行命令
rsync -az /home/test/ root@10.200.11.230:/home/test/
命令参数:
-v, –verbose 详细模式输出
-q, –quiet 精简输出模式
-c, –checksum 打开校验开关,强制对文件传输进行校验
-a, –archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
-r, –recursive 对子目录以递归模式处理
-l, –links 保留符号链结
-p, –perms 保留文件权限
-t, –times 保留文件时间戳
-g, –group 保留文件属组信息
-o, –owner 保留文件属主信息
-D, –devices 保留设备文件即特殊文件信息
-e, –rsh=COMMAND 指定替代rsh的shell程序
-z, –compress 对备份的文件在传输时进行压缩处理
–delete 删除目标目录下附加的文件,让目录目录与源目录保持一样
–progress 显示进度条
–stats 显示如何执行压缩和传输
–exclude=PATTERN 指定排除不需要传输的文件模式
–include=PATTERN 指定不排除而需要传输的文件模式
–exclude-from=FILE 排除FILE中指定模式的文件
–include-from=FILE 不排除FILE指定模式匹配的文件
–version 打印版本信息
–address 绑定到特定的地址
–config=FILE 指定其他的配置文件,不使用默认的rsyncd.conf文件
–port=PORT 指定其他的rsync服务端口
–blocking-io 对远程shell使用阻塞IO
-stats 给出某些文件的传输状态
–progress 在传输时现实传输过程
–log-format=formAT 指定日志文件格式
–password-file=FILE 从FILE中得到密码
–bwlimit=KBPS 限制I/O带宽,KBytes per second
-h, –help 显示帮助信息

Posted in LINUX | Leave a comment

Centos7安装protobuf

1、更新Centos7下载源
更新之前记得备份!!!
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
参考:http://mirrors.aliyun.com/help/centos
163的源参考:http://mirrors.163.com/.help/centos.html
2、安装epel源
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm
如果版本不一样就去这里找http://dl.fedoraproject.org/pub/epel/
rpm -ivh rpm epel-release-7-8.noarch.rpm
yum clean all
yum update
yum makecache
3、安装PHP环境

http://blog.phpfs.com/archives/2427.html

4、安装composer
curl -sS https://getcomposer.org/installer | php — –install-dir=/usr/local/bin/
mv /usr/local/bin/composer.phar /usr/local/bin/composer
5、安装protobuf
yum install php-devel
git clone https://github.com/allegro/php-protobuf.git
cd php-protobuf
yum -y install gcc
yum -y install gcc-c++
yum install make
phpize
./configure
make && make install
Installing shared extensions: /usr/lib64/php/modules/
composer install
vi /etc/php.ini
最后添加
extension=protobuf.so
7、安装protoc
wget https://github.com/google/protobuf/releases/download/v2.6.1/protobuf-2.6.1.tar.gz
cd protobuf-2.6.1
./configure
make
make install
输入protoc –version
libprotoc 2.6.1
则安装成功
8、测试案例
touch foo.proto
写入如下内容

message Foo
{
required int32 bar = 1;
optional string baz = 2;
repeated float spam = 3;
}
生成
php /root/soft/php-protobuf/protoc-gen-php.php foo.proto
编写案例test.php

<?php
require_once 'Foo.php';
 
$foo = new Foo();
$foo->setBar(1);
$foo->setBaz('two');
$foo->appendSpam(3.0);
$foo->appendSpam(4.0);
 
$packed = $foo->serializeToString();
 
$parsedFoo = new Foo();
try {
    $parsedFoo->parseFromString($packed);
} catch (Exception $ex) {
    die('Oops.. there is a bug in this example, ' . $ex->getMessage());
}
$parsedFoo->dump();
 
执行案例
php -f test.php
Foo {
  1: bar => 1
  2: baz => "two"
  3: spam(2) =>
    [0] => 3
    [1] => 4
}
Posted in PHP | Leave a comment

Centos7安装LAMP+PHPmyadmin

1、更新Centos7下载源
更新之前记得备份!!!
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
参考:http://mirrors.aliyun.com/help/centos
163的源参考:http://mirrors.163.com/.help/centos.html
2、更新本地缓存
yum clean all
yum makecache
3、安装网络工具
yum install net-tools
如果你要用ifconfig等命令的话
4、关闭firewall
systemctl stop firewalld.service
systemctl disable firewalld.service
5、关闭selinux
vi /etc/selinux/config
注释#SELINUX=enforcing
注释#SELINUXTYPE=targeted
添加SELINUX=disabled
保存退出:wq
setenforce 0#关闭selinux
6、安装apache
yum install httpd
7、安装Mariadb
yum install mariadb mariadb-server
拷贝配置文件覆盖原配置文件
cp /usr/share/mysql/my-huge.cnf /etc/my.cnf
8、安装PHP
yum install php php-mysql php-gd php-odbc php-pear php-mbstring php-mcrypt
9、下载PHPmyadmin
wget https://files.phpmyadmin.net/phpMyAdmin/4.0.0/phpMyAdmin-4.0.0-all-languages.zip
解压到/var/www/html/phpmyadmin

10、配置站点
vi /etc/httpd/conf/httpd.conf
文件最后加入

Include vhost/*.conf
mkdir /etc/httpd/vhost
touch test.conf
<VirtualHost *:80>
DocumentRoot /var/www/html/test
ServerName test
<Directory /var/www/html/test>
Options FollowSymLinks
AllowOverride All
</Directory>
</VirtualHost>
touch phpmyadmin.conf
<VirtualHost *:80>
DocumentRoot /var/www/html/phpmyadmin
ServerName phpmyadmin
<Directory /var/www/html/phpmyadmin>
Options FollowSymLinks
AllowOverride All
</Directory>
</VirtualHost>

重启apache和mariadb
11、安装epel源
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm
如果版本不一样就去这里找http://dl.fedoraproject.org/pub/epel/
rpm -ivh rpm epel-release-7-8.noarch.rpm
yum clean all
yum update
以下步骤都是在安装了epel源下进行的
12、安装mcrypt扩展
yum install php-mcrypt
13、安装redis、memcache以及扩展
yum install redis
vi /etc/redis.conf
daemonize yes#守护进程运行
redis-server /etc/redis.conf
yum install php-redis
yum install memcached
yum install php-memcached

附录:
启动|停止|重启apache systemctl start|stop|restart httpd.service
开机启动apache systemctl enable httpd.service
启动|停止|重启mariadb systemctl start|stop|restart mariadb.service
开启启动mariadb systemctl enable mariadb.service

Posted in Apache, DB, LINUX, Memcache, Redis, Server | Tagged , | Leave a comment

触发器统计记录行数

a表保存记录,b表保存a表当中指定cid的总行数

CREATE TABLE `a` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(20) NOT NULL,
  `cid` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8;
 
CREATE TRIGGER `insert_exec` AFTER INSERT ON `a` FOR EACH ROW begin
declare b_id int;
select id into b_id from b where cid = new.cid;
if  b_id  then
update b set num=num+1 where cid=new.cid;
else
insert into b (cid,num) values (new.cid, 1);
end if;
end;
 
CREATE TRIGGER `delete_exec` BEFORE DELETE ON `a` FOR EACH ROW update b  set num = num - 1 where cid= old.cid;
 
 
CREATE TABLE `b` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `cid` int(11) NOT NULL,
  `num` int(11) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8;

 

Posted in DB, MySQL | Tagged , | Leave a comment

关于制作手机网页笔记

1、px和rem换算
em 的计算是基于父级元素的,在实际使用中给我们的计算带来了很大的不便
rem 的出现就可以避免这类计算的问题,再也不用担心父级元素的 font-size 了,因为它始终是基于根元素(html) 的!
html{font-size:62.5%; /* 10÷16=62.5% */} body{font-size:12px;font-size:1.2rem ; /* 12÷10=1.2 */}
如果你设定html { font-size:100%;} 那么计算的时候就是用px的值除以16就是rem的结果
2、切面保存成透明
需要将背景隐藏掉再切片
3、查看切片宽和高
邮件编辑切面即可看到
4、查看psd原始像素
图像-图像大小

Posted in Engineer, HTML | Tagged , , , | Leave a comment