首页 > 代码库 > curl命令

curl命令

crontab -l 查看当前任务
crontab - u 用户名 当前用户任务计划
crontab -e 更改计划
crontab -r 删除任务
时间 命令
分 时 日 月 周
0 */8 * * * 每隔八小时执行一次
0 1,2 ***1点2点去执行这个命令
 
定义年:定义星期
 
cat file 复制文件内容 
 
service crond status 查看正在运行的crond
service crond status 关闭crond
-------------------------------------------------------------------------------------
 
xargs可以把本来两步或者多步的任务一步就能完成
find -mtime +10 |xargs rm 找出大于十天的文件再删除
ls *.txt |xargs -n1 -i{} mv {} {}_bak 把*.txt的文件名全部改为*.txt_bak
-n1的意思是一个一个的去处理
 
一个减号跟字母 两个减号跟单词
 
find . -mtime +10 -exec rm -rf {} \; 查找超过10天的文件并删除
find ./*_bak -exec mv{} {}_bak \; 把*_bak的文件名更改为*_bak_bak
-------------------------------------------------------------------------------------
 
yum install -y rsync 安装
-a 归档模式,以递归方式传输文件 并保持所有属性
-r 对子目录以递归模式处理
-v 打印一些信息出来,比如速率,文件数量等
-l 保留软连接
-L 像对待常规文件一样处理软连接,如果是SRC中有软连接文件,则加上该选项后将会把软连接指向的目标文件拷贝到DST
-p 保持文件权限
-o 保持文件属主信息
-g 保持文件属组信息
-D 保持文件设备信息
-t 保持文件时间信息
--delete 删除那些DST中SRC没有的文件
--exclude=PATTERN 指定排除不需要的传输文件,等号后面跟文件名
--progress 在同步过程中可以看到同步的过程状态,比如统计要同步的文件数量、同步的文件传输速度等
-u 将会把DST中比SRC还新的文件排除掉,不会删除
 
 
 
rsync同步之ssh隧道
yum install -y openssh-clients 安装
resync -avL test1/ name@X.X.X.X:/tmp/test2/
密钥登录
name1和name2
从name1(192.168.1.101)拷贝到name2(192.168.1.102)上
首先确认name1上有没有/root/.ssh/id_rsa.pub:
[root@name-1 ~]# ssh-keygen
生成密钥
root@name-1 ~]# ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: 3b:74:af:e8:08:ac:99:30:3f:ef:84:7a:a0:a6:3d:89 root@name-1
 
在这个过程中会有一些交互的过程,它首先提示要输入这个密钥的密码,出于安全考虑应该定义个密码,但是我们的目的就是为了自动化同步数据,所以这里不输入任何密码,直接按回车,即密码为空。最后则生成了私钥(/root/.ssh/id_rsa)和公钥文件(/root/.ssh/id_rsa.pub)
把公钥文件的内容拷贝到目标机器上:
# cat .ssh/id_rsa.pub
复制主机name-1的/root/.ssh/id_rsa.pub文件内容,并粘贴到主机name-2的/home/www/.ssh/authorized_keys中:
vim /home/www/.ssh/authorized_keys
在这一步也许你会遇到/home/www/.ssh目录不存在的问题,可以手动创建,并修改目录权限为700也可以执行ssh-keygen命令生成这个目录。保存/home/www/.ssh/authorized_keys文件后,再到主机Aming-1上执行:
#ssh www@192.168.0.102
 
 
后台服务方式
建立并设置rsync /etc/rsync.conf
 
[root@name-1 ~]# vim /etc/rsyncd.conf #port=873 log file=/var/log/rsync.log pid file=/var/run/rsyncd.pid #address=192.168.0.101 [test] path=/root/rsync use chroot=true max connections=4 read only=no list=true uid=root gid=root auth users=test secrets file=/etc/rsyncd.passwd hosts allow=192.168.0.102
 
port 指定在哪个端口启动rsyncd服务,默认是873
log file 指定日志文件
pid file 指定pid文件,这个文件的作用涉及到服务的启动以及停止等进程管理操作
address 指定启动rsyncd服务的IP,假如你的机器有多个IP,就可以指定其中一个启动rsyncd服务,默认是在全部IP上启动
[test] 指定模块名,自定义
path 指定数据存放的路径
use chroot true|false 默认是true,意思是在传输文件以前首先chroot到path参数所指定的目录下。这样做的原因是实现额外的安全防护,但是缺点是需要以roots权限,并且不能备份指向外部的符号连接所指向的目录文件。默认情况下chroot值为true,如果你的数据当中有软连接文件的话建议设置成false。
max connections 指定最大的连接数,默认是0即没有限制
read only ture|false 如果为true则不能上传到该模块指定的路径下
list 指定当用户查询该服务器上的可用模块时,该模块是否被列出,设定为true则列出,false则隐藏
uid/gid 指定传输文件时,以哪个用户/组的身份传输
auth users 指定传输时要使用的用户名
secrets file 指定密码文件,该参数连同上面的参数如果不指定则不使用密码验证,注意该密码文件的权限一定要是600
hosts allow 指定被允许连接该模块的主机,可以是IP或者网段,如果是多个,之间用空格隔开
 
 
  1. 编辑secrets file,保存后要赋予600权限,如果权限不对,不能完成同步
[root@name-1 ~]# cat /etc/rsyncd.passwd test:test123 [root@name-1 ~]# chmod 600 /etc/rsyncd.passwd
 
 
 
2.启动rsyncd服务
[root@name-1 ~]# rsync --daemon --config=/etc/rsyncd.conf
 
 
启动后,可以查看一下日志,并查看端口是否启动:
[root@name-1 ~]# cat /var/log/rsync.log [root@name-1 ~]# netstat -lnp |grep 873 tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 12066/rsync tcp 0 0 :::873 :::* LISTEN 12066/rsync
 
如果想开机启动,请把 rsync --daemon --confg=/etc/rsyncd.conf 写入到/etc/rc.d/rc.local文件。
 
  1. 到另一台机器上测试
[root@name-2 ~]# rsync -avL test@192.168.0.10::test/test1/ /tmp/test5/ Password: receiving incremental file list created directory /tmp/test5 ./ 1 1.txt 2 2.txt 3 4 sent 143 bytes received 354 bytes 994.00 bytes/sec total size is 0 speedup is 0.00
阿铭刚刚提到有一个选项叫做 “use chroot” 默认为true,如果是true,同步的文件中如果有软连接,则会有问题,首先在主机name-1的/root/rsync/test1/ 目录下创建一个软连接文件:
[root@name-1 ~]# ln -s /root/test.txt rsync/test1/test.txt [root@name-1 ~]# ls -l rsync/test1/test.txt lrwxrwxrwx 1 root root 14 6月 12 13:24 rsync/test1/test.txt -> /root/test.txt
然后再到主机name-2上,同步:
[root@name-2 ~]# rsync -avL test@192.168.0.10::test/test1/ /tmp/test6/ Password: receiving incremental file list symlink has no referent: "/test1/test.txt" (in test) created directory /tmp/test6 ./ 1 1.txt 2 2.txt 3 4 sent 143 bytes received 419 bytes 1124.00 bytes/sec total size is 0 speedup is 0.00 rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1532) [generator=3.0.6]
可以看到,如果设置 “use chroot” 为true则同步软连接文件会有问题,下面阿铭把主机name-1的rsync配置文件修改一下,把true改为false:
[root@name-1 ~]# sed -i ‘s/use chroot=true/use chroot=false/‘ /etc/rsyncd.conf [root@name-1 ~]# grep ‘use chroot‘ /etc/rsyncd.conf use chroot=false
然后再到主机name-2上再次执行同步:
[root@name-2 ~]# rsync -avL test@192.168.0.10::test/test1/ /tmp/test7/ Password: receiving incremental file list created directory /tmp/test7 ./ 1 1.txt 2 2.txt 3 4 test.txt sent 162 bytes received 410 bytes 1144.00 bytes/sec total size is 0 speedup is 0.00
-------------------------------------------------------------------------------------
curl:
curl -x ip :port www.baidu.com
-I把访问的内容忽略掉,-v可以显示详细过程
curl -Iv http://www.qq.com
-u可以指定用户名和密码
curl -u user:passwd http://123.com
-O 直接下载页面或者对象
-o 自定义名字
------------------------------------------------------------
screen:
screen可以创建多个screen窗口
yum install -y screen 安装
screen -ls 查看已经打开的screen
ctrl+a 再按d 退出该会话 并没有结束 结束输入ctrl+d或者exit
screen -r 【设备编号】
------------------------------------------------------------------
linux日志:
/etc/rsyslog.conf 配置文件
/var/log/messages 核心系统日志文件
last查看用户登陆历史
lastb 查看无效登陆历史
/var/log/maillog 查看邮箱相关信息
/var/log/secure 安全认证相关的信息
dmesg 查看系统实时的硬件设备抛出的信息
/var/log/dmesg 一个日志文件,记录系统启动时硬件相关的信息
 ---------------------------------------------------------------------
ntsysv服务配置工具
yum install -y nesysv 安装
chkconfig 服务管理工具
cat /etc/init.d/ 查看系统预设服务
chkconfig --list 列出所有的服务以及每个级别是否启动
chkconfig --level 3 crond off 关闭crond 的第三个级别
chkconfig -del 删除某个服务
chkconfig -add 增加某个服务
------------------------------------------------------------------------
iptables:
iptables -nvL 查看规则
[root@awen ~]# iptables -F;/etc/init.d/iptables save 清除规则
iptables:将防火墙规则保存到 /etc/sysconfig/iptables: [确定]
 
iptables -Z 把包及流量计数器至零
iptables -A INPUT -s 10.72.11.12 -p tcp --sport 1234 -d 10.72.137.159 --dport 80 -d DROP
iptables -A 增加一条规则 INPUT链接名 -s 源地址 -p协议(tcp,udp,icmp),--sport 源端口/目标端口 -d后面跟IP -j后面跟动作 (DROP:把包丢掉 REJECT:拒绝包 ACCEPT:允许包)
iptables -L 插入一条规则
iptables -D 删除一条规则
iptables -I INPUT -p icmp --icmp-type 8 -j DROP
8是指能在本机ping通其它机器,而其他机器不能ping通本机
[root@awen ~]# echo "1" > /proc/sys/net/ipv4/ip_forward
[root@awen ~]# iptables -t net -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
 
service iptables save #保存防火墙规则
service iptables stop #关闭防火墙
---------------------------------------------------------------------------------------------------------------------
selinux:
vim /etc/selinux/config
 
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
把SELINUX=enforcing 改为 SELINUX=disabled
setenforce 0 临时关闭
getenforce 获取状态
---------------------------------------------------------------------------------------------------------------
 

curl命令