- 主题:请教个nohup的问题
- 将nohup.out重命名后,新的输出并不会重新创建一个nohup.out,而是继续往重命名的文件里写
 这个是什么原理
 
 
 如果我觉得nohup.out太大,想把目前nohup.out保存下来,以后的输出往一个新的nohup.out输入,要怎么操作
 --
 FROM 218.66.91.*
 
- 你把文件删了都没用,它有个fd指向这个文件,只有关闭、再打开才会指向新文件
 
 apache2-utils这个包里有个小程序rotatelogs,可以帮助将输出内容按时间或者文件大
 小“滚动”,即定时换新文件或者超出大小时换新文件:
 
 nohup your_command | rotatelogs xxxxx.log <时间或者文件大小>
 
 写个数字就是时间,单位是秒。数字加后缀(B/K/M/G)就是文件大小
 
 
 【 在 b0207191 的大作中提到: 】
 : 将nohup.out重命名后,新的输出并不会重新创建一个nohup.out,而是继续往重命名的文件里写
 : 这个是什么原理
 : 如果我觉得nohup.out太大,想把目前nohup.out保存下来,以后的输出往一个新的nohup.out输入,要怎么操作
 : ...................
 --
 FROM 222.128.5.*
 
- 如果不太密集的话,
 可以用笨方法workaround一下:
 
 1) 在nohup输出中加一个关键字,比如时间
 2)写个cron脚本,每小时grep一下过去的一个小时的所有内容,输出到一个文件
 3)sed删除掉所有过去这一个小时的内容
 
 相当于手动rotate了
 
 (ps:我刚才想了半天,竟然不敢确定所有的命令都会写了,只好用文字描述一下)
 【 在 b0207191 的大作中提到: 】
 : 将nohup.out重命名后,新的输出并不会重新创建一个nohup.out,而是继续往重命名的文件里写
 : 这个是什么原理
 : 如果我觉得nohup.out太大,想把目前nohup.out保存下来,以后的输出往一个新的nohup.out输入,要怎么操作
 : ...................
 --
 FROM 39.152.175.*
 
- 这是文件系统的功能
 文件名、文件,其实是分离的两个东西
 【 在 b0207191 的大作中提到: 】
 : 将nohup.out重命名后,新的输出并不会重新创建一个nohup.out,而是继续往重命名的文件里写
 : 这个是什么原理
 : 如果我觉得nohup.out太大,想把目前nohup.out保存下来,以后的输出往一个新的nohup.out输入,要怎么操作
 : ...................
 --
 FROM 139.226.178.*
 
- 你这个开销太大了……
 你们业务现在没人访问了么?
 【 在 hyoga 的大作中提到: 】
 : 如果不太密集的话,
 : 可以用笨方法workaround一下:
 : 1) 在nohup输出中加一个关键字,比如时间
 : ...................
 --
 FROM 139.226.178.*
 
- 现在你们都不用logrotate了么?
 
 【 在 hyoga 的大作中提到: 】
 : 如果不太密集的话,
 : 可以用笨方法workaround一下:
 : 1) 在nohup输出中加一个关键字,比如时间
 : ...................
 --
 FROM 39.144.230.*
 
- logrotate需要写日志那个程序自己会配合
 (废话其实都需要)
 logrotate只是总结了切日志的几个常见动作,提炼成套路了而已
 就是所谓“别人家的最佳实践”
 但并不是放之四海都能用的
 【 在 lokta 的大作中提到: 】
 : 现在你们都不用logrotate了么?
 --
 FROM 139.226.178.*