crontab
例子:# 每月的最后1天0 0 L * * *说明:Linux* * * * *- - - - -| | | | || | | | +----- day of week (0 - 7) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat| | | +---------- month (1 - 12) OR jan,feb,mar,apr ...| | +--------------- day of month (1 - 31)| +-------------------- hour (0 - 23)+------------------------- minute (0 - 59)
curl
curl和wget基础功能有诸多重叠,如下载等。
非要说区别的话,curl由于可自定义各种请求参数所以在模拟web请求方面更擅长;wget由于支持ftp和Recursive所以在下载文件方面更擅长。类比的话curl是浏览器,而wget是迅雷9。
# 下载文件curl -fsSL https://xxx -o filename #针对https链接使用curl -O http://man.linuxde.net/text.iso #O大写,不用O只是打印内容不会下载wget http://www.linuxde.net/text.iso #不用参数,直接下载文件# 下载并重命名curl -o rename.iso http://man.linuxde.net/text.iso #o小写wget -O rename.zip http://www.linuxde.net/text.iso #O大写# 断点续传curl -O -C - http://man.linuxde.net/text.iso #O大写,C大写wget -c http://www.linuxde.net/text.iso #c小写# 限速下载curl --limit-rate 50k -O http://man.linuxde.net/text.isowget --limit-rate=50k http://www.linuxde.net/text.iso# 显示响应头部信息curl -I http://man.linuxde.net/text.isowget --server-response http://www.linuxde.net/test.iso# 同时打印请求头和响应头curl -v http://man.linuxde.net/text.isocurl http://man.linuxde.net/text.iso --trace-ascii /dev/stdoutwget -d http://www.linuxde.net/test.iso# wget利器--打包下载网站wget --mirror -p --convert-links -P /var/www/html http://man.linuxde.net/
测试nginx服务
curl 127.0.0.1/debug -H 'Host:xxx.com'
find
find ./ -regex .http. 查找当前目录含http的文件
lsof
查看进程打开的文件句柄数
lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr|more
rsync
添加ssh端口参数
rsync -e ‘ssh -p 2222’
排除目录
# 注意--exclude只能写相对路径,不能写绝对路径/usr/bin/rsync -avrP --ignore-errors --progress --exclude={'trunk/www/res/web/','trunk/www/res/m/'} /var/lib/jenkins/workspace/xxx/ host::project# 以上{}写法似乎只对rsync服务模式生效,下面的测试没有问题rsync -arvP --exclude='server/storage/logs/' root@host:/data/ /data/
| OPTION选项 | 功能 |
|---|---|
| -a | 这是归档模式,表示以递归方式传输文件,并保持所有属性,它等同于-r、-l、-p、-t、-g、-o、-D 选项。-a 选项后面可以跟一个 —no-OPTION,表示关闭 -r、-l、-p、-t、-g、-o、-D 中的某一个,比如-a —no-l 等同于 -r、-p、-t、-g、-o、-D 选项。 |
| -r | 表示以递归模式处理子目录,它主要是针对目录来说的,如果单独传一个文件不需要加 -r 选项,但是传输目录时必须加。 |
| -v | 表示打印一些信息,比如文件列表、文件数量等。 |
| -l | 表示保留软连接。 |
| -L | 表示像对待常规文件一样处理软连接。如果是 SRC 中有软连接文件,则加上该选项后,将会把软连接指向的目标文件复制到 DEST。 |
| -p | 表示保持文件权限。 |
| -o | 表示保持文件属主信息。 |
| -g | 表示保持文件属组信息。 |
| -D | 表示保持设备文件信息。 |
| -t | 表示保持文件时间信息。 |
| —delete | 表示删除 DEST 中 SRC 没有的文件。 |
| —exclude=PATTERN | 表示指定排除不需要传输的文件,等号后面跟文件名,可以是通配符模式(如 *.txt)。 |
| —progress | 表示在同步的过程中可以看到同步的过程状态,比如统计要同步的文件数量、 同步的文件传输速度等。 |
| -u | 表示把 DEST 中比 SRC 还新的文件排除掉,不会覆盖。 |
| -z | 加上该选项,将会在传输过程中压缩。 |
sed
# 在文件第二行插入sed -i "2i extension=redis.so" /usr/local/php/etc/php.ini# 文件尾部插入,必须是单引号sed -i '$a\extension=redis.so' /usr/local/php/etc/php.ini
tee
tee 会覆盖源文件
配置开机启动项
/etc/rc.d/rc.local
- 必须确保该文件有执行权限
- 部分命令执行异常时,可以将文件头改为
#!/bin/sh -x,重启之后查看/var/log/messages日志
