远程更新git项目代码

作者: 分类: git 时间: 2021-06-21 评论: 暂无评论

1.添加 hook.php 脚本,记得 检查PHP的exec函数 是否被禁用

$web_root='/www/wwwroot/xxx.com'; //服务器 项目根目录地址
$shell = "cd {$web_root}/ && pwd && git pull 2>&1";
exec($shell,$out); 
print_r($out);

2.在代码管理库(gitea ,github)添加钩子,指向上面的php地址 http://xxx.com/hook.php

3.在服务添加 www 权限

cd ~
vi .git-credentials
https://用户名:密码@gitee.com
git config --global credential.helper store
#执行成功后出现~/.gitconfig文件
cp ~/.gitconfig /home/www/
cp ~/.git-credentials /home/www/
cd /home/www
chown www.www .gitconfig
chown www.www .git-credentials

4.到你的项目下执行

chmod -R 777 .git

6.检查项目权限,如果不对

chown -R www.www  项目地址

5.用浏览器访问 http://xxx.com/hook.php
成功结果返回
Array ( [0] => /www/wwwroot/dcc.com [1] => Already up-to-date. )

mysql主从同步

作者: 分类: mysql 时间: 2021-06-18 评论: 暂无评论

主库ip 172.22.230.212
从库ip 172.22.230.213
数据库备份

mysqldump -uroot -p --databases xhjgame>xhjgame.sql

主库

>CREATE USER 'slave'@'172.22.230.213' IDENTIFIED BY '密码';
>GRANT REPLICATION SLAVE ON *.* TO 'slave'@'172.22.230.213';
>flush privileges;
> show master status

从库 注意两个值 mysql-bin.00058 和MASTER_LOG_POS

>CHANGE MASTER TO MASTER_HOST='172.22.230.212',  
MASTER_USER='slave', 
MASTER_PASSWORD='密码', 
MASTER_LOG_FILE='mysql-bin.000587',  MASTER_LOG_POS=0;

>start slave

>show slave status

51单片机常见缩写

作者: 分类: 51 时间: 2019-08-28 评论: 暂无评论
SFR special funtion register 特殊功能寄存器

ACC accumulate 累加器

PSW progammer status word 程序状态字

CY (PSW.7) carry 进位标志位

AC (PSW.6) assistant carry 辅助进位标志位

OV (PSW.2) overflow 溢出标志位

PC progammer counter 程序计数器

DPTR data point register 数据指针寄存器

SP stack point 堆栈指针

TCON timer control 定时器控制寄存器

TF1 (TCON.7) Timer1 flag T1中断标志位

TR1 (TCON.6) Timer1 Run T1运行控制位

TF0 (TCON.5) Timer0 flag T0中断标志位

TR0 (TCON.4) Timer0 Run T0运行控制位

IE1 (TCON.3) Interrupt1 exterior 外部中断1中断标志位

IT1 (TCON.2) Interrupt1 touch 外部中断1 触发方式选择位

IE0 (TCON.1) Interrupt0 exterior 外部中断0中断标志位

IT0 (TCON.0) Interrupt0 touch 0-电平触发 1-下降沿触发

IE (A8H) interrupt enable 中断允许寄存器

EA (IE.7) enable all interrupt 中断总允许位

ES (IE.4) enable serial 串行口中断允许位

ET1 (IE.3) enable timer 1 T1中断允许位

EX1 (IE.2) enable exterior 1 外部中断1中断允许位

ET0 (IE.1) enable timer 0 T0中断允许位

EX0 (IE.0) enable exterior 0 外部中断0中断允许位

IP (B8H) interrupt priority 中断优先级寄存器

PS (IP.4) priority serial 串口优先级标志位

PT1 (IP.3) priority timer 1 定时器1优先级标志位

PX1 (IP.2) priority exterior 1 外部中断1优先级标志位

PT0 (IP.1) priority timer 0 定时器0优先级标志位

PX0 (IP.0) priority exterior 0 外部中断0优先级标志位

PCON (87H) power control 电源控制和波特率选择

TMOD (89H) timer mode 定时器方式控制寄存器

MSB = most significant bit//最高有效位

LSB = last significant bit//最低有效位

OE = output enable //输出使能

Linux 学习笔记 #4 磁盘管理

作者: 分类: php 时间: 2019-08-23 评论: 暂无评论

1 df
选项与参数:

-a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
-k :以 KBytes 的容量显示各文件系统;
-m :以 MBytes 的容量显示各文件系统;
-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
-H :以 M=1000K 取代 M=1024K 的进位方式;
-T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
-i :不用硬盘容量,而以 inode 的数量来显示

文件系统                类型      容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root xfs        17G  1.1G   16G    6% /
devtmpfs                devtmpfs  898M     0  898M    0% /dev
tmpfs                   tmpfs     910M     0  910M    0% /dev/shm
tmpfs                   tmpfs     910M  9.6M  901M    2% /run
tmpfs                   tmpfs     910M     0  910M    0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  146M  869M   15% /boot
tmpfs                   tmpfs     182M     0  182M    0% /run/user/0
tmpfs                   tmpfs     182M     0  182M    0% /run/user/10

2 du
Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的,这里介绍Linux du命令。

语法:

du [-ahskm] 文件或目录名称
选项与参数:

-a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。
-h :以人们较易读的容量格式 (G/M) 显示;
-s :列出总量而已,而不列出每个各别的目录占用容量;
-S :不包括子目录下的总计,与 -s 有点差别。
-k :以 KBytes 列出容量显示;
-m :以 MBytes 列出容量显示;

[root@localhost ~]# du -ah
4.0K    ./.bash_logout
4.0K    ./.bash_profile
4.0K    ./.bashrc
4.0K    ./.cshrc
4.0K    ./.tcshrc
4.0K    ./anaconda-ks.cfg
4.0K    ./.bash_history
4.0K    ./test.txt
32K    .

3.fdisk Linux 的磁盘分区表操作工具
fdisk [-l] 装置名称

[root@localhost ~]# fdisk -l

磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000ba19e

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    41943039    19921920   8e  Linux LVM

磁盘 /dev/mapper/centos-root:18.2 GB, 18249416704 字节,35643392 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/mapper/centos-swap:2147 MB, 2147483648 字节,4194304 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

从中我们可以看出,有4个设备,分别为/dev/sda、/dev/sdb、/dev/mapper/cl-root、/dev/mapper/cl-swap。其中/dev/sda硬盘已经有2个分区分区为:/dev/sda1和/dev/sda2。/dev/mapper/cl-root和/dev/mapper/cl-swap两个设备是/dev/sda2分区创建的逻辑卷。这里的/dev/sdb硬盘设备并没有被分区

命令(输入 m 获取帮助):   

a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition <==删除一个partition
l list known partition types
m print this menu
n add a new partition <==新增一个partition
o create a new empty DOS partition table
p print the partition table <==在屏幕上显示分割表
q quit without saving changes <==不储存离开fdisk程序
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit <==将刚刚的动作写入分割表
x extra functionality (experts only)

w保存,q离开

Linux 学习笔记 #3 用户跟用户组管理

作者: 分类: linux 时间: 2019-08-23 评论: 暂无评论

1.用户管理
① 增加用户
useradd 选项 用户名
参数说明:
选项:
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

[root@localhost ~]# useradd -c '测试账号' -d /home/test -g test -G root -s /bin/sh test
[root@localhost ~]# groups test
test : test root

添加用户 备注:测试账号,主目录 /home/test,属于test,附属root组,/bin/sh启动,用户名test

② 删除用户
userdel [-r] 用户名 -r把用户目录也一起删除
③ 修改账号
usermod 选项 用户名
选项为 -c -g 这些,类似useradd 格式
④ 修改密码
passwd 选项 用户名
用户名默认为当前登录用户
可使用的选项:

-l 锁定口令,即禁用账号。
-u 口令解锁。
-d 使账号无口令。
-f 强迫用户下次登录时修改口令。

[root@localhost ~]# passwd test
更改用户 test 的密码 。
新的 密码:
无效的密码: 密码是一个回文
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

2.用户组管理
① 新增用户组

groupadd 选项 用户组
groupadd test

可以使用的选项有:
-g GID 指定新用户组的组标识号(GID)。
-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。

② 删除

groupdel test

③ 修改用户组

常用的选项有:

-g GID 为用户组指定新的组标识号。
-o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
-n新用户组 将用户组的名字改为新名字

groupmod -n test2 test

④ 切换组
如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限。
用户可以在登录后,使用命令newgrp切换到其他用户组,这个命令的参数就是目的用户组。例如:
newgrp root

3.用户组相关文件
① /etc/passwd
[root@localhost ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
...
test:x:1000:1000:测试账号:/home/test:/bin/sh

用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell

系统中有一类用户称为伪用户(psuedo users)。
这些用户在/etc/passwd文件中也占有一条记录,但是不能登录,因为它们的登录Shell为空。它们的存在主要是方便系统管理,满足相应的系统进程对文件属主的要求。

常见的伪用户如下所示:

伪 用 户 含 义
bin 拥有可执行的用户命令文件
sys 拥有系统文件
adm 拥有帐户文件
uucp UUCP使用
lp lp或lpd子系统使用
nobody NFS使用

② /etc/shadow
由于/etc/passwd文件是所有用户都可读的,如果用户的密码太简单或规律比较明显的话,一台普通的计算机就能够很容易地将它破解,因此对安全性要求较高的Linux系统都把加密后的口令字分离出来,单独存放在一个文件中,这个文件是/etc/shadow文件。 有超级用户才拥有该文件读权限,这就保证了用户密码的安全性。

[root@localhost ~]# cat /etc/shadow
root:$6$AkeZV0UL$D0QWVXNowem4tyIuaJmpt6ESymhcNRZHExBF9TKLWAqtkViJfujJDSB1gxXOlUVNhTRtpvI1QzcBKgLgwzu3O1:18131:0:99999:7:::
bin:*:17834:0:99999:7:::
...
test:$6$RAH5kntR$LfnowfXg41YhWXbaNn9XkVS.gDrVcWNnqsuw9hFiR0Fc9rNhGSrY8IAfKPYBAJIlk5KGhgrvwJQanAVM9iD1A.:18131:0:99999:7:::

登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

③ /etc/group
用户组的所有信息
root:x:0:test
bin:x:1:
daemon:x:2:
sys:x:3:
...
test:x:1000:

组名:口令:组标识号:组内用户列表

查看用户所属用户组
groups 用户组名 
[root@localhost ~]# groups test
test : test root
Top ↑