- 1. Working directories
- 2. Confirmation of Lubuntu Desktop
- 3. COVID-19 Vaccination
- 4. Atom tips
- 5. termux
- 5.1. Termux 详解—— Android 平台上完美移植的 Linux 工具集
- 5.2. 10 BEST TERMUX TOOLS FOR ETHICAL HACKING IN 2021
- 6. rsync 用法教程
Working directories
JX
1 | cd /media/ht/ht_5T/Work/Projects/Biosafety/Ion-e-Air/JX/20210326 |
NMR test reports added to the above directory
The length of a file specification is limited
On AIX, Solaris, and Mac: The maximum number of characters for a file name is 255. The maximum combined length of the file name and path name is 1024 characters. The Unicode representation of a character can occupy several bytes, so the maximum number of characters that a file name might contain can vary.
On Linux: The maximum length for a file name is 255 bytes. The maximum combined length of both the file name and path name is 4096 bytes. This length matches the PATH_MAX that is supported by the operating system. The Unicode representation of a character can occupy several bytes, so the maximum number of characters that comprises a path and file name can vary. The actual limitation is the number of bytes in the path and file components, which might correspond to an equal number of characters.
On Linux: For archive or retrieve operations, the maximum length that you can specify for a path and file name (combined) remains at 1024 bytes.
The maximum number of bytes for a file name and file path when combined is 6255. However, the file name itself cannot exceed 255 bytes. Furthermore, directory names (including the directory delimiter) within a path are limited to 255 bytes. The Unicode representation of a character can occupy several bytes, so the maximum number of characters that a file name might contain can vary.
When using the open file support feature with VSS, the backup-archive client adds the snapshot volume name to the path of the objects being processed. The resulting path (snapshot volume name plus object path) must adhere to the limits shown. The snapshot volume name can be up to 1024 bytes.
Confirmation of Lubuntu Desktop
- LXDE
- Lubuntu
COVID-19 Vaccination
- covid-19-data/vaccinations.csv at master · owid/covid-19-data · GitHub
- Coronavirus (COVID-19) - Google News
Atom tips
termux
- Termux 详解—— Android 平台上完美移植的 Linux 工具集 - 简书
- https://www.yourtechdiet.com/blogs/best-termux-tools-ethical-hacking/
- linux - Get the Perl rename utility instead of the built-in rename - Stack Overflow
Termux 详解—— Android 平台上完美移植的 Linux 工具集
32019.05.15 01:42:10字数 2,325阅读 12,981
最近换了新手机,系统是基于Android Pie(即 Android 9)定制的MIUI 10。
Android 相对而言算得上是比较开放的平台,如此说来,不趁此机会乱搞一下难免有些说不过去。。。
额,新手机,刷机Root来一套有点舍不得,好在有Termux这个应用。来,耍一耍看上去能够彰显“硬核”范儿的东西。
一、简介
Termux是 Android 平台上的一个终端模拟器,它将众多 Linux 上运行的软件和工具近乎完美的移植到了手机端。
无需任何复杂的安装和配置过程,软件装好以后即会自动配置一个基本的运行环境,用以执行一些常见的 Linux 命令。
最为关键的是,它还内置了功能健全的包管理工具,可以使用类似于 Ubuntu 系统的apt
(或pkg
)命令安装额外的软件包。
1 | termux |
之所以称它为“模拟器”而非“虚拟机”,是因为它并非像 PC 端的VirtualBox等虚拟机软件那样,在宿主机中虚拟出一个完全独立且完整的系统环境,而是类似于Mingw等软件,只是提供一个接口,以安装和运行面向新环境交叉编译后的程序。
也可以将此时的手机看作是安装了 Linux 系统的树莓派,可以像 PC 端系统那样运行各种类型的软件,只不过这些软件都是针对特定的 CPU 架构和硬件设备编译过的(交叉编译或者在树莓派系统中本地编译)。
需要注意的是,由于移动端和 PC 端硬件设备的巨大差异,加上 Android 内核和操作系统的限制,能够直接运行的程序毕竟是少数。不过我刚刚算了一下,实际上可直接安装运行的软件足足有910个!
1 | apt list |
二、软件包
前面提到的可供安装的近一千个(算上为数众多的基础工具、库文件和开发版软件包)程序和软件,数量虽然远不及桌面系统,面对日常使用、学习任务甚至很多高阶应用也已经算得上绰绰有余了。
举个例子来说,Termux 是可以直接安装配置 Python 编程环境的。想想 Python 社区里浩如烟海的第三方库,甚至还可以根据特定的需求自行编写程序源代码。这里面包含着无限的可能性。
当然这也只是Python罢了,那么Perl、Ruby、Nodejs、Lua、C/C++、Golang、Rust……
我不会拿它去对标电脑上完备的系统环境,单说这种似乎无限的可能性,就已经很值得玩味了。
这里简单的列举下我所熟悉的部分软件:
- 基础工具:apt、bash、busybox、dpkg、git、htop、make、zsh ……
- 编程语言:binutils、clang、dart、erlang、golang、lua、nodejs、perl、php、python、ruby、rust ……
- 服务器软件:apache2、lighttpd、nginx、openssh ……
- 数据库软件:mariadb、memcached、mosquitto、postgresql、redis、sqlite ……
- 文本工具和编辑器:emacs、gawk、nano、sed、vim ……
- 媒体工具:ffmpeg、imagemagick、mpv、sox ……
- 网络工具:curl、httping、nmap、wget ……
- 游戏和娱乐:bastet、cmatrix、cowsay、fortune、moon-buggy、nsnake、sl ……
三、有趣的 Terminal 小命令
就先不说具体的环境搭建的步骤了,包含的东西很多,实际上跟电脑端的操作并没有太大的区别。
就简单列举一些我个人非常喜欢的好玩儿的小命令吧。
- fortune:输出一段格言警句、名著节选或者小笑话等
- cowsay:将输出的文字内容包含在由 ASCII 字符组成的动物形象的气泡内
- lolcat:将苍白的输出文字变成绚丽的彩虹色
安装方法:
- fortune:
apt install fortune
- cowsay:
apt install cowsay
或者gem install cowsay
- lolcat:
gem install lolcat
其中 apt 版本的 cowsay 依赖 Perl ,安装包整个算起来有点大。所以我比较倾向于使用gem
命令安装,即作为 Ruby 的第三方库。当然为了使用gem
命令是要先安装好 Ruby 的:apt install ruby
效果截图:
fortune cowsay lolcat
虽然名字叫 cowsay ,但它所包含的动物形象事实上不只“牛”这一种。
可以使用cowsay -l
命令列出所有可供选择的动物形象,并通过cowsay -f animal_name
手动指定另一种动物。
cowsay -f
另外,其实 cowsay 的每个动物形象都是由对应的 cow 文件(基本就是 ASCII Art 形式的文本文件)定义的,可以自己扩充,篇幅有限不赘述。
类似的小玩意儿还有sl
(突突的小火车)、cmatrix
(全屏滚动乱码),试试就知道了。
配置 ssh 服务
前面的截图,估计已经暴露了。。。
我是在电脑上截的图,但程序确实是在手机上运行的。只是在手机端 Termux 上安装了 SSH 服务,远程登录而已。步骤也非常简单:
- 软件安装:
apt install openssh
- 设置远程登录密码:
passwd
- 电脑端登录:
ssh phone_ip -p 8022
电脑上的 ssh 客户端可自行选择,尤其要注意,这里 SSH 服务监听的端口是8022。
呃,差点忘记了。远程连接之前,先在手机端运行下sshd
命令启动 SSH 服务。。。
四、高端的命令行游戏
moon-buggy
moon-buggy是一个非常“酷炫”的命令行版本的跑酷游戏。
虽说游戏界面完全由 ASCII 字符构成,它仍然具备了一个跑酷游戏必需的所有的基本要素。玩下就懂了,蛮神奇的。
moon-buggy GIF
玩儿到后面貌似还有迎面飞来的障碍物,还可以发射武器弹药?记不太清楚了。。。
nsnake
嗯,不多说了,看名字就知道,贪吃蛇。。。
初始的移动速度有点慢,建议在游戏选项里面改一下。
nsnake
bastet
就是大名鼎鼎的俄罗斯方块啦。看图:
bastet
五、oh-my-zsh
手机端输入命令总觉得有点别扭,可能还是不习惯吧。
这时候有个oh-my-zsh就显得很有必要了。反正我个人觉得挺好用的,尤其搭配上zsh-completions
、zsh-autosuggestions
、zsh-syntax-highlighting
等插件。
可以对命令行中输入的命令进行语法高亮、自动补全等,极大地提高了输入效率。
软件安装
oh-my-zsh
$ apt install zsh curl
$ sh -c “$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
zsh-completions
git clone https://github.com/zsh-users/zsh-completions ~/.oh-my-zsh/custom/plugins/zsh-completions
zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
软件配置:
编辑~/.zshrc
文件,将上述插件添加到plugins
项后面:
1 | .zshrc |
PS:Termux 貌似是没有默认 SHELL 的配置的,所以安装好 oh-my-zsh 以后,打开软件还是直接进入 Bash 界面。
我没有特别去找配置文件的位置,而是用了另外一种方案,,,手动输入zsh
命令进入,或者,在~/.bashrc
文件中加入zsh
一行内容。。。
六、访问手机文件及 Termux-Api
根据默认的 Android 系统的权限设定,Termux 是无法访问手机存储的。当然可以使用命令进行修改。
只需要输入termux-setup-storage
命令,即会弹出授权窗口,允许即可。
该命令会在用户主目录下生成storage
文件夹,里面即包含了到系统主要资源(如手机内存、外置存储卡、Downloads 文件夹、照片等)的链接。
storage
Termux-Api 是 Termux 软件的一个插件,需要安装额外的 APK 包。并且命令行中也需要使用$ apt install termux-api
命令安装具体的工具。
它提供了一种以 API 的形式直接访问 Android 系统硬件和资源(如相机、电池、WiFi、短信、通讯录、指纹、GPS等)的途径。
Termux-Api
如获取电池状态和 WiFi 连接信息:
battery & wifi
这个感觉可以深挖,用好了可以达到曾经的安卓神器Tasker的效果。
今天也不早了,,,就先这样吧。熬,附个软件链接吧。。
Termux and Termux-Api提取码:i37y
By the way,录了段蛮简陋的视频演示,额,第一次剪。。。
参考资料
29人点赞
10 BEST TERMUX TOOLS FOR ETHICAL HACKING IN 2021
Nowadays, Termux is one of the most suggested and preferred Android applications for ethical hackers.
If you are not an ethical hacker, but you know these tools, you can still perform Ethical Hacking or Pen-testing.
Termux is a lite tool for ethical hacking. Many tools are available for Termux on the internet, so we’ve created a list of some best hacking tools for Termux and how to use them.
Here, we have brought this list of best Termux tools used by professionals in 2021. These tools will enable checking web servers’ security and help with Alerting and Penetration testing.
Best Termux Tools For Ethical Hacking
- Nmap
- Hydra
- Metasploit
- SQLmap
- Wireshark
- Social Engineering Toolkit
- Nikto
- Tool-X
- Fsociety Toolkit
- Slowrolis
1. Nmap
Nmap, aka Network Mapper, is a port-scanning software. This is a free hacking tool, and it is viral amongst port scanners for fast network discovery, alerting, and security monitoring.
Nmapuses a wide range of services, and it utilizes raw IP packets to check if the hosts are available in the network. Nmap also lists down the services with critical information, OSs, types of firewalls, and other information.
Nmap has console support as well as GUI application support. But in Termux, one should only use the CLI of Nmap.
Commands to install Nmap on Termux
1 | pkg update && pkg upgrade -y |
2. Hydra
Hydra is considered as most powerful Termux tool out there. It uses a brute force approach on the Username and Password of services such as—telnet, ssh, FTP, etc.
Hydra is the best tool for termux as a brute force ethical hacking software to crack usernames and passwords.
This tool works around coding concepts. It gives cybersecurity professionals and IT technologists the chance to show how simple it is to get unauthorized access from a remote system.
Commands to install Hydra on Termux
1 | pkg update && pkg upgrade -y |
3. Metasploit
Metasploit is not just a Termux hacking tool. It is an entire framework of exploit tools. Metasploit is an infrastructure that one can use to make a set of hacking tools.
Metasploit is a freemium tool, but it is one of the most popular instruments in cybersecurity. It allows white-hat hackers to find vulnerabilities on various platforms.
Metasploit has a community of more than 200,000 users and employees to solve queries and information needed. It also helps to identify any vulnerabilities in the system.
Metasploit is one of the best Termux tools for android hacking.
Commands to install Metasploit on Termux
1 | pkg update && pkg upgrade -y |
4. SQLmap
The SQLMAP tool allows you to inspect websites for the existence of any SQL injection vulnerabilities. Such as XSS vulnerabilities, or exploit SQL injection.
SQLmap supports various types of SQL injections and a variety of databases.
With the help of SQLmap, it is possible to run checks on the website to inspect if any website is vulnerable to SQL injection or not.
SQLmap is accessible for all the major platforms. One can easily add SQLMAP on Termux.
Commands to install SQLmap on Termux
1 | pkg update && pkg upgrade -y |
5. Wireshark
Wireshark is a famous ethical hacking tool in 2021 that can detect vulnerabilities within a network and many firewall rules.
Hundreds of cybersecurity executives use Wireshark to detect networks, capture erroneous sent packets, and scan many standards and protocols.
Wireshark assists in reading real-time data from Ethernet, IEEE 802.11, PPP / HDLC, ATM, Bluetooth, USB, Token Ring, Frame-relay, FDDI, etc.
Wireshark has CLI support; this version is called TShark.
Commands to install Wireshark on Termux
1 | apt update && apt upgrade -y |
6. Social Engineering Toolkit
TrustedSec’s Social-Engineer Toolkit is an advanced structure that emulates many types of attacks in cybersecurity. For example, IDs collection, phishing attacks, etc.
One can see that they can utilize the capability to replace SMS or any other messaging tool from the Social-Engineer Toolkit.
Social Engineering Toolkit is written in Python programming language. It is the quality test for safeguarding against any unauthorized access with more than 3 million downloads.
It automates attacks and generates remote mail systems, malicious websites, extensions, etc.
Command to install the Social Engineering Toolkit in Termux
1 | pkg update && pkg upgrade -y |
7. Nikto
Niktois a software developed in Perl programming language. The goal is to provide guidelines on WEB servers, falling into the scope of a vulnerability scanner, OpenVAS.
It was created to find various files, configurations, standard or insecure programs on Web servers and even web browsers.
Nikto doesn’t include SQL penetration Injection issues or authorization. But the tool will only check the website for any odd files and settings, acting as a passive attack.
Command to install Nikto on Termux
1 | apt update && apt upgrade |
8. Tool-X
Tool-X is considered the best Termux hacking tool since it was specially created for Termux. With Tool-X’s help, one can download more than 370 hacking tools for Termux with just a click.
Rajkumar Dusad created the Tool-X. Before Dusad invented this tool, one had to install all the required Termux hacking tools by going on Github.
This tool has a list of all necessary Termux hacking tools. Post-installation, Tool-X in Termux can be easily installed in your hacking tools with one-click.
Command to install Nikto on Termux
1 | pkg update && pkg upgrade -y |
9. Fsociety Toolkit
Fsociety Toolkit contains all the Termux hacking tools that are appeared in many TV series for cybersecurity purposes.
Fsociety Hacking Tools Pack— It contains a Pen-Testing Framework, and one can have every code that a hacker needs.
This tool is suitable for beginners and mid-level hackers. Fsociety Toolkit will first query on the type of attack you want to do. After that, when an attack is chosen, it will give you the best tools for that particular attack.
When you have found your tool in the Fsociety Toolkit, one needs to choose the tool by typing its Tool code number. After that, the tool will be automatically installed in your Termux terminal.
Command to install Fsociety Toolkit on Termux
1 | pkg update && pkg upgrade |
10. Slowrolis
Slowloris is a low-bandwidth DoS hacking tool. The software is rewritten in Python, and it performs an HTTP Denial of Service attack that slows down or makes the small servers crash.
One can also use Slowrolis to initiate a Dos attack on any website. DoS attack is a type of cybersecurity attack where many requests are suddenly sent to the website server to get crashed.
Slowrolis develops a large number of HTTP requests and sends headers of packets periodically to keep the network’s connection open.
Slowrolis allows never to disconnect the connection portal unless the server does so. As the server shuts down the connection, a new link has already been created. As a result, the server goes down 401 error or doesn’t fulfill any requests.
Command to install Fsociety Toolkit on Termux
1 | pkg update && pkg upgrade -y |
Conclusion
As there are many Termux tools available, the list goes on, but here we have included the ten best Termux tools that you’ll ever need.
By practicing safe and ethical hacking in 2021 with these tools, you can learn hacking and other cybersecurity aspects from the android Termux app.
Recommended For You:
7 Cybersecurity trends to watch out
rsync 用法教程
作者: 阮一峰
日期: 2020年8月26日
一、简介
rsync 是一个常用的 Linux 应用程序,用于文件同步。
它可以在本地计算机与远程计算机之间,或者两个本地目录之间同步文件(但不支持两台远程计算机之间的同步)。它也可以当作文件复制工具,替代cp
和mv
命令。
它名称里面的r
指的是 remote,rsync 其实就是”远程同步”(remote sync)的意思。与其他文件传输工具(如 FTP 或 scp)不同,rsync 的最大特点是会检查发送方和接收方已有的文件,仅传输有变动的部分(默认规则是文件大小或修改时间有变动)。
二、安装
如果本机或者远程计算机没有安装 rsync,可以用下面的命令安装。
1 | # Debian |
注意,传输的双方都必须安装 rsync。
三、基本用法
3.1 -r
参数
本机使用 rsync 命令时,可以作为cp
和mv
命令的替代方法,将源目录同步到目标目录。
1 | rsync -r source destination |
上面命令中,-r
表示递归,即包含子目录。注意,-r
是必须的,否则 rsync 运行不会成功。source
目录表示源目录,destination
表示目标目录。
如果有多个文件或目录需要同步,可以写成下面这样。
1 | rsync -r source1 source2 destination |
上面命令中,source1
、source2
都会被同步到destination
目录。
3.2 -a
参数
-a
参数可以替代-r
,除了可以递归同步以外,还可以同步元信息(比如修改时间、权限等)。由于 rsync 默认使用文件大小和修改时间决定文件是否需要更新,所以-a
比-r
更有用。下面的用法才是常见的写法。
1 | rsync -a source destination |
目标目录destination
如果不存在,rsync 会自动创建。执行上面的命令后,源目录source
被完整地复制到了目标目录destination
下面,即形成了destination/source
的目录结构。
如果只想同步源目录source
里面的内容到目标目录destination
,则需要在源目录后面加上斜杠。
1 | rsync -a source/ destination |
上面命令执行后,source
目录里面的内容,就都被复制到了destination
目录里面,并不会在destination
下面创建一个source
子目录。
3.3 -n
参数
如果不确定 rsync 执行后会产生什么结果,可以先用-n
或--dry-run
参数模拟执行的结果。
1 | rsync -anv source/ destination |
上面命令中,-n
参数模拟命令执行的结果,并不真的执行命令。-v
参数则是将结果输出到终端,这样就可以看到哪些内容会被同步。
3.4 --delete
参数
默认情况下,rsync 只确保源目录的所有内容(明确排除的文件除外)都复制到目标目录。它不会使两个目录保持相同,并且不会删除文件。如果要使得目标目录成为源目录的镜像副本,则必须使用--delete
参数,这将删除只存在于目标目录、不存在于源目录的文件。
1 | rsync -av --delete source/ destination |
上面命令中,--delete
参数会使得destination
成为source
的一个镜像。
四、排除文件
4.1 --exclude
参数
有时,我们希望同步时排除某些文件或目录,这时可以用--exclude
参数指定排除模式。
1 | rsync -av --exclude='*.txt' source/ destination |
上面命令排除了所有 TXT 文件。
注意,rsync 会同步以”点”开头的隐藏文件,如果要排除隐藏文件,可以这样写--exclude=".*"
。
如果要排除某个目录里面的所有文件,但不希望排除目录本身,可以写成下面这样。
1 | rsync -av --exclude 'dir1/*' source/ destination |
多个排除模式,可以用多个--exclude
参数。
1 | rsync -av --exclude 'file1.txt' --exclude 'dir1/*' source/ destination |
多个排除模式也可以利用 Bash 的大扩号的扩展功能,只用一个--exclude
参数。
1 |
|
如果排除模式很多,可以将它们写入一个文件,每个模式一行,然后用--exclude-from
参数指定这个文件。
1 | rsync -av --exclude-from='exclude-file.txt' source/ destination |
4.2 --include
参数
--include
参数用来指定必须同步的文件模式,往往与--exclude
结合使用。
1 | rsync -av --include="*.txt" --exclude='*' source/ destination |
上面命令指定同步时,排除所有文件,但是会包括 TXT 文件。
五、远程同步
5.1 SSH 协议
rsync 除了支持本地两个目录之间的同步,也支持远程同步。它可以将本地内容,同步到远程服务器。
1 | rsync -av source/ username@remote_host:destination |
也可以将远程内容同步到本地。
1 | rsync -av username@remote_host:source/ destination |
rsync 默认使用 SSH 进行远程登录和数据传输。
由于早期 rsync 不使用 SSH 协议,需要用-e
参数指定协议,后来才改的。所以,下面-e ssh
可以省略。
1 | rsync -av -e ssh source/ user@remote_host:/destination |
但是,如果 ssh 命令有附加的参数,则必须使用-e
参数指定所要执行的 SSH 命令。
1 |
|
上面命令中,-e
参数指定 SSH 使用2234端口。
5.2 rsync 协议
除了使用 SSH,如果另一台服务器安装并运行了 rsync 守护程序,则也可以用rsync://
协议(默认端口873)进行传输。具体写法是服务器与目标目录之间使用双冒号分隔::
。
1 | rsync -av source/ 192.168.122.32::module/destination |
注意,上面地址中的module
并不是实际路径名,而是 rsync 守护程序指定的一个资源名,由管理员分配。
如果想知道 rsync 守护程序分配的所有 module 列表,可以执行下面命令。
1 | rsync rsync://192.168.122.32 |
rsync 协议除了使用双冒号,也可以直接用rsync://
协议指定地址。
1 |
|
六、增量备份
rsync 的最大特点就是它可以完成增量备份,也就是默认只复制有变动的文件。
除了源目录与目标目录直接比较,rsync 还支持使用基准目录,即将源目录与基准目录之间变动的部分,同步到目标目录。
具体做法是,第一次同步是全量备份,所有文件在基准目录里面同步一份。以后每一次同步都是增量备份,只同步源目录与基准目录之间有变动的部分,将这部分保存在一个新的目标目录。这个新的目标目录之中,也是包含所有文件,但实际上,只有那些变动过的文件是存在于该目录,其他没有变动的文件都是指向基准目录文件的硬链接。
--link-dest
参数用来指定同步时的基准目录。
1 | rsync -a --delete --link-dest /compare/path /source/path /target/path |
上面命令中,--link-dest
参数指定基准目录/compare/path
,然后源目录/source/path
跟基准目录进行比较,找出变动的文件,将它们拷贝到目标目录/target/path
。那些没变动的文件则会生成硬链接。这个命令的第一次备份时是全量备份,后面就都是增量备份了。
下面是一个脚本示例,备份用户的主目录。
1 | #!/bin/bash |
上面脚本中,每一次同步都会生成一个新目录${BACKUP_DIR}/${DATETIME}
,并将软链接${BACKUP_DIR}/latest
指向这个目录。下一次备份时,就将${BACKUP_DIR}/latest
作为基准目录,生成新的备份目录。最后,再将软链接${BACKUP_DIR}/latest
指向新的备份目录。
七、配置项
-a
、--archive
参数表示存档模式,保存所有的元数据,比如修改时间(modification time)、权限、所有者等,并且软链接也会同步过去。
--append
参数指定文件接着上次中断的地方,继续传输。
--append-verify
参数跟--append
参数类似,但会对传输完成后的文件进行一次校验。如果校验失败,将重新发送整个文件。
-b
、--backup
参数指定在删除或更新目标目录已经存在的文件时,将该文件更名后进行备份,默认行为是删除。更名规则是添加由--suffix
参数指定的文件后缀名,默认是~
。
--backup-dir
参数指定文件备份时存放的目录,比如--backup-dir=/path/to/backups
。
--bwlimit
参数指定带宽限制,默认单位是 KB/s,比如--bwlimit=100
。
-c
、--checksum
参数改变rsync
的校验方式。默认情况下,rsync 只检查文件的大小和最后修改日期是否发生变化,如果发生变化,就重新传输;使用这个参数以后,则通过判断文件内容的校验和,决定是否重新传输。
--delete
参数删除只存在于目标目录、不存在于源目标的文件,即保证目标目录是源目标的镜像。
-e
参数指定使用 SSH 协议传输数据。
--exclude
参数指定排除不进行同步的文件,比如--exclude="*.iso"
。
--exclude-from
参数指定一个本地文件,里面是需要排除的文件模式,每个模式一行。
--existing
、--ignore-non-existing
参数表示不同步目标目录中不存在的文件和目录。
-h
参数表示以人类可读的格式输出。
-h
、--help
参数返回帮助信息。
-i
参数表示输出源目录与目标目录之间文件差异的详细情况。
--ignore-existing
参数表示只要该文件在目标目录中已经存在,就跳过去,不再同步这些文件。
--include
参数指定同步时要包括的文件,一般与--exclude
结合使用。
--link-dest
参数指定增量备份的基准目录。
-m
参数指定不同步空目录。
--max-size
参数设置传输的最大文件的大小限制,比如不超过200KB(--max-size='200k'
)。
--min-size
参数设置传输的最小文件的大小限制,比如不小于10KB(--min-size=10k
)。
-n
参数或--dry-run
参数模拟将要执行的操作,而并不真的执行。配合-v
参数使用,可以看到哪些内容会被同步过去。
-P
参数是--progress
和--partial
这两个参数的结合。
--partial
参数允许恢复中断的传输。不使用该参数时,rsync
会删除传输到一半被打断的文件;使用该参数后,传输到一半的文件也会同步到目标目录,下次同步时再恢复中断的传输。一般需要与--append
或--append-verify
配合使用。
--partial-dir
参数指定将传输到一半的文件保存到一个临时目录,比如--partial-dir=.rsync-partial
。一般需要与--append
或--append-verify
配合使用。
--progress
参数表示显示进展。
-r
参数表示递归,即包含子目录。
--remove-source-files
参数表示传输成功后,删除发送方的文件。
--size-only
参数表示只同步大小有变化的文件,不考虑文件修改时间的差异。
--suffix
参数指定文件名备份时,对文件名添加的后缀,默认是~
。
-u
、--update
参数表示同步时跳过目标目录中修改时间更新的文件,即不同步这些有更新的时间戳的文件。
-v
参数表示输出细节。-vv
表示输出更详细的信息,-vvv
表示输出最详细的信息。
--version
参数返回 rsync 的版本。
-z
参数指定同步时压缩数据。
八、参考链接
- How To Use Rsync to Sync Local and Remote Directories on a VPS, Justin Ellingwood
- Mirror Your Web Site With rsync, Falko Timme
- Examples on how to use Rsync, Egidio Docile
- How to create incremental backups using rsync on Linux, Egidio Docile
(完)