- 主题:请教个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.*