【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统计某文件夹下文件、文件夹的个数

原文地址:https://www.cnblogs.com/qdpurple/p/4807213.html