同步文件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 显示帮助信息

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环境

Centos7安装LAMP+PHPmyadmin


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

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
}

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

DocumentRoot /var/www/html/test
ServerName test

Options FollowSymLinks
AllowOverride All


touch phpmyadmin.conf

DocumentRoot /var/www/html/phpmyadmin
ServerName phpmyadmin

Options FollowSymLinks
AllowOverride All


重启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

触发器统计记录行数

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;


 

关于制作手机网页笔记

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原始像素
图像-图像大小

MySQL配置主从复制

主数据库
10.200.11.224
从数据库
10.200.11.230
1、在主数据库添加用户
添加用户
GRANT REPLICATION SLAVE ON *.* TO ‘slave_test’@’10.200.11.%’ IDENTIFIED BY ‘123456’;
#添加用户slave_test并授权
查看是否添加成功
使用该账号在从库机器上登录一次试试
mysql -h 10.200.11.224 -u slave_test -p
如果不能登录需要将/etc/mysql/my.cnf当中bind-address= 127.0.0.1行屏蔽
2、
修改主数据库配置/etc/mysql/my.cnf(修改之前记得备份)
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 100M
#配置数据库复制
binlog_do_db = test_a
binlog_do_db = test_b
#配置数据库不做复制
binlog_ignore_db = information_schema
binlog_ignore_db = mysql
binlog_ignore_db = performance_schema

3、查看主数据库状态
mysql>show master status \G;
File: mysql-bin.000001
Position: 107
Binlog_Do_DB: test_a,test_b
Binlog_Ignore_DB: information_schema,mysql,performance_schema

4、修改从库配置/etc/mysql/my.cnf
server-id = 2
replicate-do-db = test_a
replicate-do-db = test_b
replicate-ignore-db = mysql
replicate-ignore-db = information_schema
replicate-ignore-db = performance_schema
#5.1.7之后要在MYSQL命令行执行
change master to master_host=’10.200.11.224′, master_user=’slave_test’, master_password=’123456′,master_port=3306,master_log_file=’mysql-bin.0000011′,master_log_pos=107;
stop slave;
reset slave;
start slave;

备注:
主服务器查看
show processlist;
show master status \G;
从服务器查看
start slave;
show slave status \G;
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
说明主从已正常工作了