rsync命令执行自动部署任务

rsync命令是linux执行拷贝文件的一个命令,其强大之处在于不仅仅支持本地的文件拷贝,同步。也支持不同机器之间的拷贝和同步。请参考以下示例,它指定使用ssh的命令对文件进行拷贝。将<path_to_local_dir>目录下的内容全部同步到<server>:<path_to_remote_dir>

这里<path_to_local_dir>后面的斜杆'/'非常重要,它指定同步的内容为此目录下的内容。

rsync -az --rsh=ssh <path_to_local_dir>/ <user>@<server>:<path_to_remote_dir@laoma

node中也提供了相关的npm包来调用此命令。其参数也基本与rsync能相对应。

curl命令

curl命令是Linux系统下执行http请求的命令。开发网站系统,测试接口时,非常便利的工具。

POST请求示例

参数-d指定body, -H 指定请求header,-X 指定请求类型

curl -d "param1=value1&param2=value2" -H "Content-Type: application/x-www-form-urlencoded" -X POST http://localhost:3000/data

curl -d '{"key1":"value1", "key2":"value2"}' -H "Content-Type: application/json" -X POST http://localhost:3000/data

以下为发送data.json文件

curl -d "@data.json" -X POST http://localhost:3000/data

配置证书的https请求

curl --cacert localhost.cert -X POST https://localhost/account/tuocad/api/isauth -v -b cookie-file.txt

以上命令-v指详细输出(--verbose),-b指保存来自response的cookie到cookie-file.text文件

配置请求cookie

curl --cacert localhost.cert -X POST https://localhost/account/tuocad/api/auth/local -v -c cookie-file.txt -H 'Content-Type: application/json' -d '{"email":"weijieouyang@tuocad.com","password":"your_password"}'

以上示例,-c表示使用某个文件中的cookie

使tsl/ssl证书验证无效

curl --insecure

指定打印返回数据的头

curl -i

tcpflow监控tcp数据包

tcpflow是linux下的一个工具,用于监控tcp通信数据包。常用命令方式

tcpflow -a -i lo

这里-i指的是网络接口, lo指的是本地网络接口.-a指的是全范围监控。运行此命令会在命令运行的当前路径下生成一系列文件。文件名以起始ip:port-目标ip:port的格式。

tcpflow -a -i lo -c

此命令与上面不同的是它捕获的数据不会放在文件内,而是通过标准输出口控制台打印出来

iptables命令

iptables是linux系统中非常重要的一个工具。在firewalld普遍应用之前,人们都是利用iptables来对linux系统做网络安全配置。

linux内核中有一个Netfilter模块,此模块负责管理整个系统的网络交通。通俗的理解,就是每一个linux系统中都有一个路由器,它负责管理整个系统的网络交通的通行权限。如果您想查看这个抽象的路由器,可以使用router或者ip(ip route show table main/local/default)命令,查看本机的网络交通。详细可以参考route表格路由规则相关文档

iptables就是一个linux下的工具,它负责与Netfilter模块进行通信和配置。其实firewalld也是做同样的工作,更甚至可以把firewalld理解为iptables的上游软件。firewalld采用更便于人类理解的机制来调用iptables工具。

iptables有最基本的chain ,table和target的概念。简单的说,iptables中有多个table,每个table里面记录了多个chain,每个chain指向一个target。这个target指的就是该chain对某个数据包的判决。比较常用对数据包作出的判决包括:允许通过,拒绝通过,或者无视该数据。此外,iptables工具可以指定哪个/哪些ip的数据包不准流入/流出到某个target等。此外iptables还有各种表格,典型的除了默认表格外,还有NAT表格。这个表格中指定的规则都是有ip地址转化功能的流入流出ip地址权限控制。

此文拥有对iptables更详细的解释说明。