rsync使用
1. 为什么使用rsync?
rsync解决linux系统下文件同步时, 增量同步问题.
使用场景: 线上需要定时备份数据文件(视频资源), 使用rsync完成每天的增量备份.
参见: http://roclinux.cn/?p=2643
http://www.ibm.com/developerworks/cn/linux/l-cn-nohup/
2. rsync使用遇到的问题
线上数据文件全量备份, 32T数据, 主要是视频文件, 数据量较大, 按照100M/s, 需要3天+, 启动后在执行3h左右时出错, 备份程序退出.日志如下:
rsync error: received SIGINT, SIGTERM, or SIGHUP (code ) at rsync.c() [sender=3.0.]
rsync: writefd_unbuffered failed to write bytes to socket [generator]: Broken pipe ()
:可能是数据量较多, 导致备份出错??? 还未找到原因.
3. rsync删除大量文件应用(于rm -rf等的比较)
参见: linux删除大量文件的6种方法
经测试, rsync与 rm-rf dir/ 时间上并无太大区别.
linux 积累
1. 后台执行程序
让程序忽略hangup
信号 nohup %cmd% &
让程序的父进程是init进程,而不是当前终端的进程 setsid %cmd%
参见:
如何在Linux后台运行一个程序
linux命令后台运行
http://segmentfault.com/a/1190000002803307
2.查看文件的创建日期(stat)
使用ls -l 显示的是文件的最后修改时间; 如何查看文件的创建时间? 参见:
在Linux下,一个文件也有三种时间,分别是:访问时间、修改时间、状态改动时间
说明:Access访问时间。Modify修改时间。Change状态改动时间。可以stat *查看这个目录所有文件的状态。
关于stat命令:
[root@streamserver ~]# stat .txt
File: `.txt'
Size: Blocks: IO Block: regular file
Device: fd00h/64768d Inode: Links:
Access: (/-rw-r--r--) Uid: ( / root) Gid: ( / root)
Access: -- ::31.845546973 +
Modify: -- ::29.555491379 +
Change: -- ::29.555491379 +
经centOS4.4.7 验证: accessTime即为文件的创建时间(文章提到的more,less查看文件并不修改此时间)
3. 统计文件个数
ls -l|wc -l
包括子文件夹: ls -lR|wc -l
参见:sina blog:Linux统计某文件夹下文件、文件夹的个数