1、简介
Linux 高级教程系列 日志切割
单位使用的SVN进行项目版本管理,最近一次备份提交的时候出现以下的错误:
1 2 3
| Adding (bin) 08源码\JAVA\2025\aespas.20250729.tar.gz Transmitting file data .svn: E730054: Commit failed (details follow): svn: E730054: Error running context: 远程主机强迫关闭了一个现有的连接。
|
应该是文件太大了,足足有300+MB,于是第一个想法就是把大文件切割了再进行上传。分割的方式有很多种,可以用在线网站,也可以使用脚本、命令,本人推荐Linux的自带split命令,非常强大。
2、推荐指数
3、常用参数
选项 |
含义 |
示例 |
-b, –bytes=SIZE |
按大小分割 |
-b 100M |
-l, –lines=NUMBER |
按行数分割 |
-l 1000 |
-d, –numeric-suffixes |
使用数字后缀 |
-d |
-a, –suffix-length=N |
后缀长度 |
-a 3 |
–verbose |
显示进度信息 |
–verbose |
–help |
显示帮助信息 |
–help |
4、分割使用方法
4.1、按大小分割文件
重点参数:-b
file.part.为生成文件的前缀
1 2 3 4 5
| split -b 100M file.tar.gz file.part.
split -d -b 100M file.tar.gz file.part.
|
单位 |
含义 |
示例 |
K |
Kilobyte (1000 bytes) |
-b 100K |
M |
Megabyte (1000 KB) |
-b 500M |
G |
Gigabyte (1000 MB) |
-b 1G |
KB |
Kibibyte (1024 bytes) |
-b 100KB |
MB |
Mebibyte (1024 KB) |
-b 500MB |
4.2、按行数分割
重点参数:-l
1 2 3 4 5
| split -l 1000 log.txt log_segment.
split -d -l 5000 access.log access.part_
|
4.3、输出文件名前缀
1 2 3 4 5 6 7 8
| split -b 100M document.pdf doc.part.
split -d -b 100M largefile.dat backup.
split -a 3 -d -b 1G data.bin data.part.
|
5、合并使用方法
5.1、合并分割的文件
1 2 3 4 5
| cat file.part.* > restored_file.tar.gz
cat file.part.00 file.part.01 file.part.02 > restored_file.tar.gz
|
5.1、验证文件完整性
1 2 3 4 5
| md5sum original_file.tar.gz restored_file.tar.gz
sha256sum original_file.tar.gz restored_file.tar.gz
|
6、结束语
求知的心将会指引前进的路~~~~~~