| 1 | brew install enca | 
rsync同步
简介
rsync 全名 Remote Sync,是类 unix 系统下的数据镜像备份工具。可以方便的实现本地,远程备份,rsync 提供了丰富的选项来控制其行为。rsync 优于其他工具的重要一点就是支持增量备份。
本地备份示列
| 1 | 0 * * * * rsync -arv --delete /home/bluexiii/Documents/work /media/bluexiii/HITACHI/Documents | 
远程备份示列
SSH公钥复制:
| 1 | ssh-copy-id root@56.32.4.68 | 
crontab配置:
| 1 | 0 * * * * rsync -arv /home/minio/data root@56.32.4.68:/home/minio/data | 
参考文档
systemd学习笔记
参考文档
http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html
systemctl
重启
| 1 | systemctl reboot | 
关闭
| 1 | systemctl poweroff | 
CPU停止工作
| 1 | systemctl halt | 
暂停系统
| 1 | systemctl suspend | 
休眠
| 1 | systemctl hibernate | 
交互式休眠
| 1 | systemctl hybrid-sleep | 
###单用户状态
| 1 | systemctl rescue | 
systemd-analyze
启动耗时
| 1 | systemd-analyze | 
每个服务的启动耗时
| 1 | systemd-analyze blame | 
瀑布状的启动过程流
| 1 | systemd-analyze critical-chain | 
显示指定服务的启动流
| 1 | systemd-analyze critical-chain atd.service | 
hostnamect
显示当前主机的信息
| 1 | hostnamectl | 
设置主机名
| 1 | hostnamectl set-hostname xxxx | 
localectl
查看本地化设置
| 1 | localectl | 
设置本地化参数
| 1 | localectl set-locale LANG=en_GB.utf8 | 
timedatectl
查看当前时区设置
| 1 | timedatectl | 
显示所有可用的时区
| 1 | timedatectl list-timezones | 
设置当前时区
| 1 | timedatectl set-timezone America/New_York | 
loginctl
列出当前session
| 1 | loginctl list-sessions | 
列出当前登录用户
| 1 | loginctl list-users | 
列出显示指定用户的信息
| 1 | loginctl show-user root | 
查询状态
列出正在运行的 Unit
| 1 | systemctl list-units | 
列出所有Unit,包括没有找到配置文件的或者启动失败的
| 1 | systemctl list-units --all | 
列出所有没有运行的 Unit
| 1 | systemctl list-units --all --state=inactive | 
列出所有加载失败的 Unit
| 1 | systemctl list-units --failed | 
列出所有正在运行的、类型为 service 的 Unit
| 1 | systemctl list-units --type=service | 
查询状态
显示系统状态
| 1 | systemctl status | 
显示单个 Unit 的状态
| 1 | systemctl status bluetooth.service | 
显示远程主机的某个 Unit 的状态
| 1 | systemctl -H root@rhel7.example.com status httpd.service | 
显示某个 Unit 是否正在运行
| 1 | systemctl is-active application.service | 
显示某个 Unit 是否处于启动失败状态
| 1 | systemctl is-failed application.service | 
显示某个 Unit 服务是否建立了启动链接
| 1 | systemctl is-enabled application.service | 
服务管理
立即启动一个服务
| 1 | systemctl start apache.service | 
立即停止一个服务
| 1 | systemctl stop apache.service | 
重启一个服务
| 1 | systemctl restart apache.service | 
杀死一个服务的所有子进程
| 1 | systemctl kill apache.service | 
重新加载一个服务的配置文件
| 1 | systemctl reload apache.service | 
重载所有修改过的配置文件
| 1 | systemctl daemon-reload | 
显示某个 Unit 的所有底层参数
| 1 | systemctl show httpd.service | 
显示某个 Unit 的指定属性的值
| 1 | systemctl show -p CPUShares httpd.service | 
设置某个 Unit 的指定属性
| 1 | systemctl set-property httpd.service CPUShares=500 | 
列出一个 Unit 的所有依赖
| 1 | systemctl list-dependencies --all nginx.service | 
配置文件的状态
列出所有配置文件
| 1 | systemctl list-unit-files | 
列出指定类型的配置文件
| 1 | systemctl list-unit-files --type=service | 
查看配置文件
| 1 | systemctl cat atd.service | 
日志管理
查看所有日志(默认情况下 ,只保存本次启动的日志)
| 1 | journalctl | 
查看内核日志(不显示应用日志)
| 1 | journalctl -k | 
查看系统本次启动的日志
| 1 | journalctl -b | 
查看上一次启动的日志(需更改设置)
| 1 | $ sudo journalctl -b -1 | 
查看指定时间的日志
| 1 | journalctl --since="2012-10-30 18:17:16" | 
显示尾部的最新10行日志
| 1 | journalctl -n | 
显示尾部指定行数的日志
| 1 | journalctl -n 20 | 
实时滚动显示最新日志
| 1 | journalctl -f | 
查看指定服务的日志
| 1 | journalctl /usr/lib/systemd/systemd | 
查看指定进程的日志
| 1 | journalctl _PID=1 | 
查看某个路径的脚本的日志
| 1 | journalctl /usr/bin/bash | 
查看指定用户的日志
| 1 | journalctl _UID=33 --since today | 
查看某个 Unit 的日志
| 1 | journalctl -u nginx.service | 
实时滚动显示某个 Unit 的最新日志
| 1 | journalctl -u nginx.service -f | 
合并显示多个 Unit 的日志
| 1 | journalctl -u nginx.service -u php-fpm.service --since today | 
查看指定优先级(及其以上级别)的日志,共有8级
| 1 | 0: emerg 1: alert 2: crit 3: err 4: warning 5: notice 6: info 7: debug | 
日志默认分页输出,–no-pager 改为正常的标准输出
| 1 | journalctl --no-pager | 
以 JSON 格式(单行)输出
| 1 | journalctl -b -u nginx.service -o json | 
以 JSON 格式(多行)输出,可读性更好
| 1 | journalctl -b -u nginx.service -o json-pretty | 
显示日志占据的硬盘空间
| 1 | $ sudo journalctl --disk-usage | 
指定日志文件占据的最大空间
| 1 | $ sudo journalctl --vacuum-size=1G | 
指定日志文件保存多久
| 1 | $ sudo journalctl --vacuum-time=1years | 
Visio替代品
- mermaid + markdown
- ProcessOn
- yed
- 亿图图示 Edraw Max
- www.draw.io
- dia
- chrome 离线应用 Gliffy Diagrams
- Tikz
Kong部署笔记
Postgre安装
官网
rpm方式安装
https://yum.postgresql.org/rpmchart.php
postgresql11-11.4-1PGDG.rhel7.x86_64.rpm
postgresql11-contrib-11.4-1PGDG.rhel7.x86_64.rpm
postgresql11-libs-11.4-1PGDG.rhel7.x86_64.rpm
postgresql11-server-11.4-1PGDG.rhel7.x86_64.rpm
| 1 | rpm -ivh postgresql11* | 
初始化DB
| 1 | /usr/pgsql-11/bin/postgresql-11-setup initdb | 
启动
| 1 | systemctl enable postgresql-11 | 
修改配置
cd /var/lib/pgsql/11/data
vi postgresql.conf
| 1 | listen_addresses = '*' | 
vi pg_hba.conf
| 1 | host all all 0.0.0.0/0 md5 | 
添加名为kong的用户
| 1 | useradd kong; | 
| 1 | CREATE USER kong; CREATE DATABASE kong OWNER kong; | 
| 1 | psql -U kong -d kong -h 127.0.0.1 -p 5432 | 
Kong安装
Kong官网
参考文档
https://docs.konghq.com/install/centos/?_ga=2.146470708.1859714253.1563239338-1792454818.1563239338
RPM方式安装
| 1 | rpm -ivh kong-1.2.1.el7.noarch.rpm | 
配置
| 1 | cp /etc/kong/kong.conf.defaul /etc/kong/kong.conf | 
| 1 | database = postgres # Determines which of PostgreSQL or Cassandra | 
初始化
| 1 | kong migrations bootstrap -c /etc/kong/kong.conf | 
测试
curl -i http://localhost:8001/
GUI
Kong Admin GUI
https://docs.konghq.com/enterprise/0.31-x/admin-gui/
Konga
Neo4j学习笔记
下载
https://neo4j.com/download-center/
官方文档
参考文章
GUI
http://localhost:7474/browser/
bolt://127.0.0.1:7687
初始密码: neo4j/neo4j
APOC
官网
https://github.com/neo4j-contrib/neo4j-apoc-procedures
https://neo4j-contrib.github.io/neo4j-apoc-procedures/
配置
$NEO4J_HOME/conf/neo4j.conf
dbms.security.procedures.unrestricted=apoc.*
测试
| 1 | CALL dbms.functions() YIELD name | 
| 1 | call apoc.help('meta'); | 
Spring Data Neo4j
https://docs.spring.io/spring-data/neo4j/docs/5.1.9.RELEASE/reference/html/
net-tools对比iproute2
简介
iproute2是linux下管理控制TCP/IP网络和流量控制的新一代工具包,旨在替代老派的工具链net-tools,即大家比较熟悉的ifconfig,arp,route,netstat等命令。
net-tools是通过procfs(/proc)和ioctl系统调用去访问和改变内核网络配置,而iproute2则通过netlink套接字接口与内核通讯。
对照表
| net-tools | iproute2 | 
|---|---|
| arp -na | ip neigh | 
| ifconfig | ip link | 
| ifconfig -a | ip addr show | 
| ifconfig -s | ip -s link | 
| ifconfig eth0 up | ip link set eth0 up | 
| ipmaddr | ip maddr | 
| iptunnel | ip tunnel | 
| netstat | ss | 
| netstat -i | ip -s link | 
| netstat -g | ip maddr | 
| netstat -l | ss -l | 
| netstat -r | ip route | 
| route add | ip route add | 
| route del | ip route del | 
| route -n | ip route show | 
ss常用操作
-s查看当前服务器的网络连接统计
| 1 | ss -s | 
-l查看所有监听的网络端口,-p并列出具体的程序名称
| 1 | ss -lp | 
-a查看这台服务器上所有的socket连接
| 1 | ss -a | 
替代netstat -ntlp
| 1 | ss -nltp|column -t | 
替代lsof -i
| 1 | ss -nltp|grep 18010 | 
ip常用操作
检查网卡的诸如 IP 地址
| 1 | ip addr show | 
启用/禁用网卡
| 1 | ip link set eth0 up | 
配置IP地址
| 1 | ip addr add 10.211.55.13/24 brd + dev eth0 | 
检查路由
| 1 | ip route show | 
检查ARP记录
| 1 | ip neigh | 
CentOS7安装KVM
参考文档
- https://github.com/jaywcjlove/handbook/blob/master/CentOS/CentOS7%E5%AE%89%E8%A3%85KVM%E8%99%9A%E6%8B%9F%E6%9C%BA%E8%AF%A6%E8%A7%A3.md
- https://c.isme.pub/2017/06/17/kvm-install/
- https://www.tuxfixer.com/install-and-configure-kvm-qemu-on-centos-7-rhel-7-bridge-vhost-network-interface/
- http://www.91bg.top/archives/51/
- https://blog.51cto.com/11305268/1774531
关闭selinux
| 1 | setenforce 0 | 
停用防火墙
| 1 | systemctl disable firewalld.service | 
安装KVM
| 1 | yum -y install qemu-kvm libvirt virt-install bridge-utils | 
安装后需要重启系统
开启libvirtd服务
| 1 | systemctl start libvirtd | 
创建虚拟机
| 1 | virt-install \ | 
虚拟机管理
| 1 | virsh list # 查看在运行的虚拟机 | 
相关
| 1 | libvirt-client # libvirt的客户端,最重要的功能之一就是在宿主机关机时可以通知虚拟机也关机 | 
图形界面
| 1 | yum install virt-manager | 
配置桥接模式
停用NetworkManager
| 1 | systemctl stop NetworkManager | 
cd /etc/sysconfig/network-scripts
vi ifcfg-br0 
| 1 | DEVICE=br0 | 
vi ifcfg-eth0
| 1 | TYPE=Ethernet | 
CentOS7安装VirtualBox
下载
https://www.virtualbox.org/wiki/Downloads
安装
| 1 | yum install SDL-devel gcc kernel-devel | 
启动
开启X11转发
| 1 | ssh -Y root@10.211.55.11 | 
CentOS7配置TigerVNC
安装X11和Gnome
| 1 | yum groupinstall "X Window System" | 
切换启动模式
| 1 | systemctl set-default multi-user.target //设置成命令模式 | 
远程访问并启动X
| 1 | ssh -Y root@10.211.55.11 | 
TigerVNC安装
yum install tigervnc tigervnc-server
设置vnc密码
| 1 | vncpasswd | 
TigerVNC配置
| 1 | cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service | 
TigerVNC启动
| 1 | systemctl daemon-reload | 
VNC以590+x作为访问端口,第1个server是5901端口
macOS访问VNC
原生支持VNC访问,Finder中cmd+k,弹出窗口中输入
vnc://10.211.55.11:5901