root 5 years ago
parent 9af03e7628
commit f61325c907

@ -2,7 +2,8 @@
## 说明
[非内部程序,需要安装]它以一定的频率记录系统的运行状态,所采集的数据包含系统资源(CPU、内存、磁盘和网络)使用情况和进程运行情况并能以日志文件的方式保存在磁盘中服务器出现问题后我们可获取相应的atop日志文件进行分析。atop是一款开源软件我们可以从这里获得其源码和rpm安装包
[非内部程序,需要安装]它以一定的频率记录系统的运行状态,所采集的数据包含系统资源(CPU、内存、磁盘和网络)使用情况和进程运行情况,并能以日志
文件的方式保存在磁盘中服务器出现问题后我们可获取相应的atop日志文件进行分析。atop是一款开源软件我们可以从这里获得其源码和rpm安装包
## 选项

@ -1,47 +1,23 @@
axel
===
多线程下载工具
# axel
## 说明
**axel** 是Linux下一个不错的HTTP/ftp高速下载工具。支持多线程下载、断点续传且可以从多个地址或者从一个地址的多个连接来下载同一个文件。适合网速不给力时多线程下载提高下载速度。比如在国内VPS或服务器上下载lnmp一键安装包用Axel就比wget快
### 安装
CentOS安装Axel
目前yum源上没有Axel我们可以到http://pkgs.repoforge.org/axel/下载rpm包安装
32位CentOS执行下面命令
**axel** 是Linux下一个不错的HTTP/ftp高速下载工具。支持多线程下载、断点续传且可以从多个地址或者从一个地址的多个连接来下载同一个文件。
适合网速不给力时多线程下载提高下载速度。比如在国内VPS或服务器上下载lnmp一键安装包用Axel就比wget快
```
wget -c http://pkgs.repoforge.org/axel/axel-2.4-1.el5.rf.i386.rpm
rpm -ivh axel-2.4-1.el5.rf.i386.rpm
```
## 安装
64位CentOS执行下面命令
```bash
# 网址http://pkgs.repoforge.org/axel/
rpm -iUvh http://pkgs.repoforge.org/axel/axel-2.4-1.el5.rf.i386.rpm # 32位CentOS
rpm -iUvh http://pkgs.repoforge.org/axel/axel-2.4-1.el5.rf.x86_64.rpm # 64位CentOS
apt-get install axel # Debian/Ubuntu
```
wget -c http://pkgs.repoforge.org/axel/axel-2.4-1.el5.rf.x86_64.rpm
rpm -ivh axel-2.4-1.el5.rf.x86_64.rpm
```
Debian/Ubuntu安装Axel
```
apt-get install axel
```
## 选项
```
axel [options] url1 [url2] [url...]
```
```
```markdown
--max-speed=x , -s x 最高速度x
--num-connections=x , -n x 连接数x
--output=f , -o f 下载为本地文件f
@ -52,18 +28,15 @@ axel [options] url1 [url2] [url...]
--quiet -q 静默模式
--verbose -v 更多状态信息
--alternate -a Alternate progress indicator
--help -h 帮助
--version -V 版本信息
```
## 实例
如下载lnmp安装包指定10个线程存到/tmp/
```bash
axel -n 10 -o /tmp/ http://www.jsdig.com/lnmp.tar.gz # 默认支持断点续传下载lnmp安装包指定10个线程并存到/tmp/
```
axel -n 10 -o /tmp/ http://www.jsdig.com/lnmp.tar.gz
```
如果下载过程中下载中断可以再执行下载命令即可恢复上次的下载进度

@ -1,7 +1,4 @@
bind
===
显示或设置键盘按键与其相关的功能
# bind
## 说明
@ -9,13 +6,7 @@ bind
## 选项
```
bind(选项)
```
```
```markdown
-d显示按键配置的内容
-f<按键配置文件>:载入指定的按键配置文件
-l列出所有的功能
@ -26,33 +17,9 @@ bind(选项)
## 实例
```
```bash
bind -x '"\C-l":ls -l' #直接按 CTRL+L 就列出目录
```
其中keyseq可以使用`showkey -a`命令来获取:
```
[root@localhost ~]# showkey -a
Press any keys - Ctrl-D will terminate this program
^[[A 27 0033 0x1b 上
91 0133 0x5b
65 0101 0x41
^[[B 27 0033 0x1b 下
91 0133 0x5b
66 0102 0x42
^[[D 27 0033 0x1b 左
91 0133 0x5b
68 0104 0x44
^[[C 27 0033 0x1b 右
91 0133 0x5b
67 0103 0x43
32 0040 0x20
^M 13 0015 0x0d 字母M
^C 3 0003 0x03 Ctrl-C
^D 4 0004 0x04 Ctrl-D 退出
```

@ -1,21 +1,14 @@
bunzip2
===
创一个bz2文件压缩包
# bunzip2
## 说明
**bunzip2命令** 解压缩由bzip2指令创建的”.bz2"压缩包。对文件进行压缩与解压缩。此命令类似于“gzip/gunzip”命令只能对文件进行压缩。对于目录只能压缩目录下的所有文件压缩完成后在目录下生成以“.bz2”为后缀的压缩包。bunzip2其实是bzip2的符号链接即软链接因此压缩解压都可以通过bzip2实现
**bunzip2命令** 解压缩由bzip2指令创建的”.bz2"压缩包。对文件进行压缩与解压缩。此命令类似于“gzip/gunzip”命令只能对文件进行压缩。
对于目录只能压缩目录下的所有文件,压缩完成后,在目录下生成以“.bz2”为后缀的压缩包。bunzip2其实是bzip2的符号链接即软链接因此压缩
解压都可以通过bzip2实现
## 选项
```
bunzip2(选项)(参数)
```
```
```markdown
-f或--force解压缩时若输出的文件与现有文件同名时预设不会覆盖现有的文件
-k或——keep在解压缩后预设会删除原来的压缩文件。若要保留压缩文件请使用此参数
-s或——small降低程序执行时内存的使用量
@ -23,18 +16,10 @@ bunzip2(选项)(参数)
-l--license-V或——version显示版本信息
```
### 参数
.bz2压缩包指定需要解压缩的.bz2压缩包
## 实例
将`/opt`目录下的etc.zip、var.zip和backup.zip进行压缩设置压缩率为最高同时在压缩完毕后不删除原始文件显示压缩过程的详细信息
```
```bash
# 将/opt目录下的etc.zip、var.zip和backup.zip进行压缩设置压缩率为最高同时在压缩完毕后不删除原始文件显示压缩过程的详细信息
bzip2 -9vk /opt/etc.zip /opt/var.zip /opt/backup.zip
```
压缩完毕后,在`/opt`下就会生成相应的etc.zip.bz2、var.zip.bz2和backup.zip.bz2文件
```

@ -1,21 +0,0 @@
bye
===
命令用于中断FTP连线并结束程序。
## 说明
**bye命令** 在ftp模式下输入bye即可中断目前的连线作业并结束ftp的执行
## 选项
```
bye
```
## 实例
```
bye
```

@ -2,11 +2,10 @@
## 说明
**bzip2命令** 用于创建和管理(包括解压缩)“.bz2”格式的压缩包。我们遇见Linux压缩打包方法有很多种以下讲解了Linux压缩打包方法中的Linux bzip2命令的多种范例供大家查看相信大家看完后会有很多收获
**bzip2命令** 用于创建和管理(包括解压缩)“.bz2”格式的压缩包。我们遇见Linux压缩打包方法有很多种以下讲解了Linux压缩打包方法中的
Linux bzip2命令的多种范例供大家查看相信大家看完后会有很多收获
```info
```markdown
用法: bzip2 [flags and input files in any order]
-d --decompress 强制执行解压缩
@ -28,24 +27,27 @@
## 实例
```sh
# 压缩指定文件filename
```bash
# 压缩指定文件filename,这里压缩的时候不会输出会将原来的文件filename给删除替换成filename.bz2.如果以前有filename.bz2则不会
# 替换并提示错误(如果想要替换则指定-f选项例如`bzip2 -f filename`如果filename是目录则也提醒错误不做任何操作如果filename
# 已经是压过的了有bz2后缀就提醒一下不再压缩没有bz2后缀会再次压缩
bzip2 filename
bzip2 -z filename
# 这里压缩的时候不会输出会将原来的文件filename给删除替换成filename.bz2.如果以前有filename.bz2则不会替换并提示错误如果想要替换则指定-f选项例如`bzip2 -f filename`如果filename是目录则也提醒错误不做任何操作如果filename已经是压过的了有bz2后缀就提醒一下不再压缩没有bz2后缀会再次压缩
# 解压指定的文件filename.bz2
# 解压指定的文件filename.bz2,这里解压的时候没标准输出会将原来的文件filename.bz2给替换成filename。如果以前有filename则不会
# 替换并提示错误(如果想要替换则指定`-f`选项,例如`bzip2 -df filename.bz2`
bzip2 -d filename.bz2
bunzip2 filename.bz2
# 这里解压的时候没标准输出会将原来的文件filename.bz2给替换成filename。如果以前有filename则不会替换并提示错误如果想要替换则指定`-f`选项,例如`bzip2 -df filename.bz2`
# 压缩解压的时候将结果也输出;加上`-v`选项就会输出了,只用压缩举例了,解压的时候同理`bzip2 -dv filename.bz2`
bzip2 -v filename
bzip2 -tv filename.bz2 # 模拟解压实际并不解压
# `-t`指定要进行模拟解压,不实际生成结果,也就是说类似检查文件,当然就算目录下面有filename也不会有什么错误输出了因为它根本不会真的解压文件。为了在屏幕上输出这里加上`-v`选项了,如果是真的解压`bzip2 -dv filename.bz2`则输出的是把"ok"替换成了"done"
# `-t`指定要进行模拟解压,不实际生成结果,也就是说类似检查文件,当然就算目录下面有filename也不会有什么错误输出了因为它根本不会真的
# 解压文件。为了在屏幕上输出,这里加上`-v`选项了,如果是真的解压`bzip2 -dv filename.bz2`则输出的是把"ok"替换成了"done"
bzip2 -k filename # 压缩解压的时候,除了生成结果文件,将原来的文件也保存;加上`-k`就保存原始的文件了,否则原始文件会被结果文件替代。只用压缩举例了,解压的时候同理`$bzip2 -dk filename.bz2`不再举例了
bzip2 -k filename # 压缩解压的时候,除了生成结果文件,将原来的文件也保存;加上`-k`就保存原始的文件了,否则原始文件会被结果文件替代。
# 只用压缩举例了,解压的时候同理`$bzip2 -dk filename.bz2`不再举例了
bzip2 -dc filename.bz2 # 解压到标准输出;使用`-c`指定到标准输出输出的是文件filename的内容不会将filename.bz2删除
bzip2 -dc dir.tar.bz2 | tar -x # 展开压缩包,对tar.gz文件使用gzip而不是bzip2

@ -1,22 +1,12 @@
bzip2recover
===
恢复被破坏的.bz2压缩包中的文件
# bzip2recover
## 说明
**bzip2recover命令** 可用于恢复被破坏的“.bz2”压缩包中的文件
bzip2是以区块的方式来压缩文件每个区块视为独立的单位。因此当某一区块损坏时便可利用bzip2recover试着将文件中的区块隔开来以便解压缩正常的区块。通常只适用在压缩文件很大的情况
bzip2是以区块的方式来压缩文件每个区块视为独立的单位。因此当某一区块损坏时便可利用bzip2recover试着将文件中的区块隔开来
以便解压缩正常的区块。通常只适用在压缩文件很大的情况
## 选项
```
bzip2recover(参数)
```
### 参数
文件:指定要恢复数据的.bz2压缩包

@ -1,5 +1,7 @@
# **cat**
## 选项
```markdown
将[文件]或标准输入组合输出到标准输出
-A, --show-all 等于-vET,显示不可打印字符,行尾显示“$”

@ -4,9 +4,7 @@
**cd命令** 用来切换工作目录至dirname。 其中dirName表示法可为绝对路径或相对路径。若目录名称省略则变换至使用者的home directory(也就是刚login时所在的目录)。另外,`~`也表示为home directory的意思`.`则是表示目前所在的目录,`..`则表示目前目录位置的上一层目录
```info
```markdown
-p 如果要切换到的目标目录是一个符号连接,直接切换到符号连接指向的目标目录
-L 如果要切换的目标目录是一个符号的连接,直接切换到字符连接名代表的目录,而非符号连接所指向的目标目录
- 当仅实用"-"一个选项时,当前工作目录将被切换到环境变量"OLDPWD"所表示的目录
@ -14,7 +12,7 @@
## 实例
```sh
```bash
cd ~ # 进入用户主目录
cd - # 返回进入此目录之前所在的目录
cd .. # 返回上级目录(若当前目录为“/“,则执行完后还在“/"".."为上级目录的意思)

@ -1,25 +1,25 @@
chkconfig
===
检查或设置系统的各种服务
# **chkconfig**
## 说明
**chkconfig命令** 检查、设置系统的各种服务。这是Red Hat公司遵循GPL规则所开发的程序它可查询操作系统在每一个执行等级中会执行哪些系统服务其中包括各类常驻服务。谨记chkconfig不是立即自动禁止或激活一个服务它只是简单的改变了符号连接
**chkconfig命令** 检查、设置系统的各种服务。这是Red Hat公司遵循GPL规则所开发的程序它可查询操作系统在每一个执行等级中会执行哪些
系统服务其中包括各类常驻服务。谨记chkconfig不是立即自动禁止或激活一个服务它只是简单的改变了符号连接
## 选项
```bash
chkconfig(选项)
```
```markdown
用法chkconfig [--list] [--type <type>] [name]
chkconfig --add <name>
chkconfig --del <name>
chkconfig --override <name>
chkconfig [--level <levels>] [--type <type>] <name> <on|off|reset|resetpriorities>
```bash
--add增加所指定的系统服务让chkconfig指令得以管理它并同时在系统启动的叙述文件内增加相关数据
--del删除所指定的系统服务不再由chkconfig指令管理并同时在系统启动的叙述文件内删除相关数据
--level<等级代号>:指定读系统服务要在哪一个执行等级中开启或关毕
```
缺省的运行级RHS用到的级别如下
* 0关机
@ -40,15 +40,17 @@ chkconfig(选项)
* 5 就是X11进到X Window系统了
* 6 为重启运行init 6机器就会重启
需要说明的是level选项可以指定要查看的运行级而不一定是当前运行级。对于每个运行级只能有一个启动脚本或者停止脚本。当切换运行级时init不会重新启动已经启动的服务也不会再次去停止已经停止的服务
需要说明的是level选项可以指定要查看的运行级而不一定是当前运行级。对于每个运行级只能有一个启动脚本或者停止脚本。当切换运行级时
init不会重新启动已经启动的服务也不会再次去停止已经停止的服务
运行级文件:
每个被chkconfig管理的服务需要在对应的init.d下的脚本加上两行或者更多行的注释。第一行告诉chkconfig缺省启动的运行级以及启动和停止的优先级。如果某服务缺省不在任何运行级启动那么使用`-`代替运行级。第二行对服务进行描述,可以用`\`跨行注释
每个被chkconfig管理的服务需要在对应的init.d下的脚本加上两行或者更多行的注释。第一行告诉chkconfig缺省启动的运行级以及启动和停止的
优先级。如果某服务缺省不在任何运行级启动,那么使用`-`代替运行级。第二行对服务进行描述,可以用`\`跨行注释
例如random.init包含三行
```bash
```markdown
# chkconfig: 2345 20 80
# description: Saves and restores system entropy pool for \
# higher quality random number generation.
@ -71,9 +73,9 @@ chkconfig level redis 2345 on # 把redis在运行级别为2、3、4、5的情
如何增加一个服务:
1. 服务脚本必须存放在`/etc/ini.d/`目录下
2. `chkconfig --add servicename`在chkconfig工具服务列表中增加此服务此时服务会被在`/etc/rc.d/rcN.d`中赋予K/S入口了
3. `chkconfig --level 35 mysqld on`修改服务的默认启动等级
1. 服务脚本必须存放在`/etc/ini.d/`目录下
2. `chkconfig --add servicename`在chkconfig工具服务列表中增加此服务此时服务会被在`/etc/rc.d/rcN.d`中赋予K/S入口了
3. `chkconfig --level 35 mysqld on`修改服务的默认启动等级

@ -1,7 +1,4 @@
chpasswd
===
批量更新用户口令的工具
# chpasswd
## 说明
@ -9,26 +6,20 @@ chpasswd
## 选项
```
chpasswd(选项)
```
```markdown
-c, --crypt-method 方法 加密方法(NONE DES MD5 SHA256 SHA512 中的一个)
-e, --encrypted 输入的密码已经加密的密文
-m, --md5 使用 MD5 算法加密明文密码
-R, --root CHROOT_DIR chroot 到的目录
-s, --sha-rounds SHA* 加密算法中的 SHA 旁边的数字
```
-e输入的密码是加密后的密文
-h显示帮助信息并退出
-m当被支持的密码未被加密时使用MD5加密代替DES加密
```
## 实例
先创建用户密码对应文件,格式为`username:password`,如`abc:abc123`必须以这种格式来书写并且不能有空行保存成文本文件user.txt然后执行chpasswd命令
```bash
chpasswd < user.txt # username:passworduser.txt
```
chpasswd < user.txt
```
以上是运用chpasswd命令来批量修改密码。是linux系统管理中的捷径

@ -1,25 +1,20 @@
col
===
过滤控制字符
# col
## 说明
**col命令** 是一个标准输入文本过滤器它从标注输入设备读取文本内容并把内容显示到标注输出设备。在许多UNIX说明文件里都有RLF控制字符。当我们运用shell特殊字符`>`和`>>`把说明文件的内容输出成纯文本文件时控制字符会变成乱码col命令则能有效滤除这些控制字符
**col命令** 是一个标准输入文本过滤器它从标注输入设备读取文本内容并把内容显示到标注输出设备。在许多UNIX说明文件里都有RLF控制字符。
当我们运用shell特殊字符`>`和`>>`把说明文件的内容输出成纯文本文件时控制字符会变成乱码col命令则能有效滤除这些控制字符
## 选项
```
col(选项)
```
```markdown
-b, --no-backspaces 不显示空格包括RLF和HRLF
-f, --fine 滤掉RLF字符但允许将HRLF字符呈现出来
-p, --pass pass unknown control sequences
-h, --tabs convert spaces to tabs
-x, --spaces convert tabs to spaces
-l, --lines NUM buffer at least NUM lines,预设的内存缓冲区有128列
```
-b过滤掉所有的控制字符包括RLF和HRLF
-f滤掉RLF字符但允许将HRLF字符呈现出来
-x以多个空格字符来表示跳格字符
-l<缓冲区列数>预设的内存缓冲区有128列用户可以自行指定缓冲区的大小
```

@ -1,4 +1,4 @@
# column
# **column**
## 选项

@ -1,21 +1,13 @@
compress
===
使用Lempress-Ziv编码压缩数据文件
# compress
## 说明
**compress命令** 使用“Lempress-Ziv”编码压缩数据文件。compress是个历史悠久的压缩程序文件经它压缩后其名称后面会多出".Z"的扩展名。当要解压缩时可执行uncompress指令。事实上uncompress是指向compress的符号连接因此不论是压缩或解压缩都可通过compress指令单独完成
**compress命令** 使用“Lempress-Ziv”编码压缩数据文件。compress是个历史悠久的压缩程序文件经它压缩后其名称后面会多出".Z"的扩展名。
当要解压缩时可执行uncompress指令。事实上uncompress是指向compress的符号连接因此不论是压缩或解压缩都可通过compress指令单独完成
## 选项
```
compress(选项)(参数)
```
```
```markdown
-f不提示用户强制覆盖掉目标文件
-c将结果送到标准输出无文件被改变
-r递归的操作方式
@ -25,43 +17,11 @@ compress(选项)(参数)
-V显示指令版本及程序预设值
```
### 参数
文件:指定要压缩的文件列表
## 实例
将`/etc/man.config`复到`/tmp` ,并加以压缩
```
[root@localhost ~]# cd /tmp
[root@localhost tmp]# cp /etc/man.config .
[root@localhost tmp]# compress man.config
[root@localhost tmp]# ls -l
```
```
-rw-r--r-- 1 root root 2605 Jul 27 11:43 man.config.Z
```bash
compress -d man.config.Z # 解压
compress -c man.config > man.config.back.Z # 将man.config压缩成另外一个文件来备份
```
将刚刚的压缩档解开
```
[root@localhost tmp]# compress -d man.config.Z
```
将 man.config 压缩成另外一个文件来备份
```
[root@localhost tmp]# compress -c man.config > man.config.back.Z
[root@localhost tmp]# ll man.config*
```
```
-rw-r--r-- 1 root root 4506 Jul 27 11:43 man.config
-rw-r--r-- 1 root root 2605 Jul 27 11:46 man.config.back.Z
```
这个`-c`的选项比较有趣会将压缩过程的资料输出到屏幕上而不是写入成为file.Z文件。所以我们可以透过资料流重导向的方法将资料输出成为另一个档名

@ -60,6 +60,6 @@ ls /usr/bin | pr -T9 -W$COLUMNS # 在当前终端宽度上以9列打印输
ls -l | awk '/^d/' | wc -l # 统计一个目录中的目录个数
ls -l | awk '/^-/' | wc -l # 统计一个目录中的文件个数
for i in `ls *test.log`;do mv $i `echo ${i//test/}`;done # 批量将*test.log文件重命名去掉test字符
ls -lrt | awk '{print $9}'|xargs file|grep ELF| awk '{print $1}'|tr -d ':' # 查找当前目录所有二进制文件
ls -lrt | awk '{print $9}'|xargs file|grep ELF| awk '{print $1}'|tr -d ':' # 查找当前目录所有二进制文件[尽量避免解析ls输出]
```

@ -1,125 +0,0 @@
# **rsync**
## 说明
**rsync命令** 是一个远程数据同步工具可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程
两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快
## 语法
```markdown
rsync [OPTION]... SRC DEST
rsync [OPTION]... SRC [USER@]host:DEST
rsync [OPTION]... [USER@]HOST:SRC DEST
rsync [OPTION]... [USER@]HOST::SRC DEST
rsync [OPTION]... SRC [USER@]HOST::DEST
rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]
对应于以上六种命令格式rsync有六种不同的工作模式
* 同步本地目录。当SRC和DES路径信息都不包含有单个冒号":"分隔符时就启动这种工作模式
如:`rsync -a /data /backup`
* 使用一个远程shell程序(如rsh、ssh)来实现将本地机器的内容拷贝到远程机器。当DST路径地址包含单个冒号":"分隔符时启动该模式
如:`rsync -avz *.c foo:src`
* 使用一个远程shell程序(如rsh、ssh)来实现将远程机器的内容拷贝到本地机器。当SRC地址路径包含单个冒号":"分隔符时启动该模式
如:`rsync -avz foo:src/bar /data`
* 拉取从远程rsync服务器中拷贝文件到本地机。当SRC路径信息包含"::"分隔符时启动该模式
如:`rsync -av root@192.168.78.192::www /databack`
* 推送从本地机器拷贝文件到远程rsync服务器中。当DST路径信息包含"::"分隔符时启动该模式
如:`rsync -av /databack root@192.168.78.192::www`
* 列远程机的文件列表。这类似于rsync传输不过只要在命令中省略掉本地机信息即可
如:`rsync -v rsync://192.168.78.192/www`
```
```markdown
-v, --verbose 详细模式输出
-q, --quiet 精简输出模式
-c, --checksum 打开校验开关,强制对文件传输进行校验
-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
-r, --recursive 对子目录以递归模式处理
-R, --relative 使用相对路径信息
-b, --backup 创建备份就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。可以使用--suffix选项来指定不同的备份文件前缀
--backup-dir 将备份文件(如~filename)存放在在目录下
-suffix=SUFFIX 定义备份文件前缀
-u, --update 仅仅进行更新也就是跳过所有已经存在于DST并且文件时间晚于要备份的文件不覆盖更新的文件
-l, --links 保留软链结
-L, --copy-links 想对待常规文件一样处理软链结
--copy-unsafe-links 仅仅拷贝指向SRC路径目录树以外的链结
--safe-links 忽略指向SRC路径目录树以外的链结
-H, --hard-links 保留硬链结
-p, --perms 保持文件权限
-o, --owner 保持文件属主信息
-g, --group 保持文件属组信息
-D, --devices 保持设备文件信息
-t, --times 保持文件时间信息
-S, --sparse 对稀疏文件进行特殊处理以节省DST的空间
-n, --dry-run现实哪些文件将被传输
-w, --whole-file 拷贝文件,不进行增量检测
-x, --one-file-system 不要跨越文件系统边界
-B, --block-size=SIZE 检验算法使用的块尺寸默认是700字节
-e, --rsh=command 指定使用rsh、ssh方式进行数据同步
--rsync-path=PATH 指定远程服务器上的rsync命令所在路径信息
-C, --cvs-exclude 使用和CVS一样的方法自动忽略文件用来排除那些不希望传输的文件
--existing 仅仅更新那些已经存在于DST的文件而不备份那些新创建的文件
--delete 删除那些DST中SRC没有的文件
--delete-excluded 同样删除接收端那些被该选项指定排除的文件
--delete-after 传输结束以后再删除
--ignore-errors 及时出现IO错误也进行删除
--max-delete=NUM 最多删除NUM个文件
--partial 保留那些因故没有完全传输的文件,以是加快随后的再次传输
--force 强制删除目录,即使不为空
--numeric-ids 不将数字的用户和组id匹配为用户名和组名
--timeout=time ip超时时间单位为秒
-I, --ignore-times 不跳过那些有同样的时间和长度的文件
--size-only 当决定是否要备份文件时,仅仅察看文件大小而不考虑文件时间
--modify-window=NUM 决定文件是否时间相同时使用的时间戳窗口默认为0
-T --temp-dir=DIR 在DIR中创建临时文件
--compare-dest=DIR 同样比较DIR中的文件来决定是否需要备份
-P 等同于 --partial
--progress 显示备份过程
-z, --compress 对备份的文件在传输时进行压缩处理
--exclude=PATTERN 指定排除不需要传输的文件模式
--include=PATTERN 指定不排除而需要传输的文件模式
--exclude-from=FILE 排除FILE中指定模式的文件
--include-from=FILE 不排除FILE指定模式匹配的文件
--version 打印版本信息
--address 绑定到特定的地址
--config=FILE 指定其他的配置文件不使用默认的rsyncd.conf文件
--port=PORT 指定其他的rsync服务端口
--blocking-io 对远程shell使用阻塞IO
-stats 给出某些文件的传输状态
--progress 在传输时现实传输过程
--log-format=formAT 指定日志文件格式
--password-file=FILE 从FILE中得到密码
--bwlimit=KBPS 限制I/O带宽KBytes per second
```
## 实例
windows下rsync权限注意事项密码文件执行chmod 600 rsync.passwd,用当前用户执行chown 用户名 rsync.passwd
### 使用SSH方式rsync进行同步
```bash
rsync -vzrtopg --progress -e ssh --delete work@172.16.78.192:/www/* /databack/experiment/rsync
```
### 后台服务方式
```markdown
# 默认安装好rsync程序后配置文件为“/etc/rsyncd.conf”
```
```bash
# 创建密码文件,用户名可以和密码可以随便定义,服务端需要user:pass形式客户端只需要pass就行
echo "work:abc123" > /etc/rsyncd.passwd
chmod 600 /etc/rsyncd.passwd
```
Loading…
Cancel
Save