【Linux】rsync同步文件 & 程序自启动
-
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左右时出错, 备份程序退出.日志如下:
1 133 rsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at rsync.c(544) [sender=3.0.6] 2 134 rsync: writefd_unbuffered failed to write 78 bytes to socket [generator]: Broken pipe (32)
:可能是数据量较多, 导致备份出错??? 还未找到原因.
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 1.txt File: `1.txt' Size: 2412 Blocks: 8 IO Block: 4096 regular file Device: fd00h/64768d Inode: 1057054 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2015-07-26 15:56:31.845546973 +0800 Modify: 2015-07-26 15:56:29.555491379 +0800 Change: 2015-07-26 15:56:29.555491379 +0800
经centOS4.4.7 验证: accessTime即为文件的创建时间(文章提到的more,less查看文件并不修改此时间)
3. 统计文件个数
ls -l|wc -l
包括子文件夹: ls -lR|wc -l
参见:sina blog:Linux统计某文件夹下文件、文件夹的个数