AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题

问题[logrotate](unix)

Martin Hope
barnyard9
Asked: 2023-11-19 19:51:44 +0800 CST

没有 root 用户访问权限的 Logrotate 无法工作

  • 5

问题是我们没有简单的根访问服务器。这就是为什么无需 root 即可运行 logrotate 非常方便。这是我在网上阅读文章后所做的。

  1. 创建目录 /home/techyman/logrotate,其中包含两个文件 logrotate.conf 和 logrotate.status
  2. 将 logrotate 配置文件放在 logrotate.conf 中
/home/techyman/glassfish4/glassfish/domains/*/logs/*.log {
        su techyman techyman
        daily
        copytruncate
        missingok
        rotate 30
        compress
        notifempty
        dateext dateformat -%Y-%m-%d-%s
}
  1. 运行 cron 作业
0 1 * * *  /usr/sbin/logrotate -s /home/techyman/logrotate/logrotate.status /home/techyman/logrotate/logrotate.conf

该服务每天凌晨 1 点运行。要每 1 秒测试一次,只需* * * * *在 cron job 中执行即可。但这不起作用。当我强制它时,它会说“状态文件顶部的坏行”,否则看不到任何操作。我只看到application.log。

我该如何解决这个问题?我究竟做错了什么?

我删除了notifempty还是不行。

然后我删除了su techyman techyman它仍然不起作用。

最后手动完成这项工作。但 cron 作业仍然不起作用。

/usr/sbin/logrotate -s /home/techyman/logrotate/logrotate.status  
 -f /home/techyman/logrotate/logrotate.conf

输出head -5 logrotate.status

logrotate state -- version 2
"/home/techyman/glassfish4/glassfish/domains/b/logs/application.log" 2023-11-19-17:46:26
"/home/techyman/glassfish4/glassfish/domains/domain1/logs/application.log" 2023-11-19-17:46:26
"/home/techyman/glassfish4/glassfish/domains/e/logs/application.log" 2023-11-19-17:46:26
"/home/techyman/glassfish4/glassfish/domains/c/logs/application.log" 2023-11-19-17:46:26

我daily从 logrotate.conf 中删除,希望它能解决问题,但它仍然无法在 cron 中工作。

logrotate
  • 1 个回答
  • 44 Views
Martin Hope
Gru
Asked: 2023-10-14 02:35:34 +0800 CST

7 天后删除文件的正确配置?

  • 6

这是使用 logrotate 7 天后删除文件的正确配置吗?它应该每周轮换一次。我对这个很困惑。谢谢。

/var/lib/rundeck/logs/rundeck/*/job/*/logs/*.blah.json {
  su root root
  weekly
  missingok
  maxage 7
  rotate 0
  nocreate
 }
logrotate
  • 1 个回答
  • 21 Views
Martin Hope
Yves
Asked: 2023-03-29 10:07:59 +0800 CST

如何使用 logrotate 删除旧日志文件

  • 6

在我的 CentOS 中,有一个 Logstash,它会生成很多日志文件。日志文件如下所示:

logstash-2023-03-09.log  logstash-2023-03-20.log                   logstash-deprecation-2023-03-08-1.log.gz  logstash-plain-2023-03-14-1.log.gz  logstash-plain-2023-03-25-1.log.gz
logstash-2023-03-10.log  logstash-2023-03-21.log                   logstash-deprecation-2023-03-09-1.log.gz  logstash-plain-2023-03-15-1.log.gz  logstash-plain-2023-03-26-1.log.gz
logstash-2023-03-11.log  logstash-2023-03-22.log                   logstash-deprecation-2023-03-10-1.log.gz  logstash-plain-2023-03-16-1.log.gz  logstash-plain-2023-03-27-1.log.gz
logstash-2023-03-12.log  logstash-2023-03-23.log                   logstash-deprecation.log                  logstash-plain-2023-03-17-1.log.gz  logstash-plain-2023-03-28-1.log.gz
logstash-2023-03-13.log  logstash-2023-03-24.log                   logstash-json.log                         logstash-plain-2023-03-18-1.log.gz  logstash-plain.log
logstash-2023-03-14.log  logstash-2023-03-25.log                   logstash-plain-2023-03-07-1.log.gz        logstash-plain-2023-03-19-1.log.gz  logstash-slowlog-json.log
logstash-2023-03-15.log  logstash-2023-03-26.log                   logstash-plain-2023-03-09-1.log.gz        logstash-plain-2023-03-20-1.log.gz  logstash-slowlog-plain.log
logstash-2023-03-16.log  logstash-2023-03-27.log                   logstash-plain-2023-03-10-1.log.gz        logstash-plain-2023-03-21-1.log.gz
logstash-2023-03-17.log  logstash-2023-03-28.log                   logstash-plain-2023-03-11-1.log.gz        logstash-plain-2023-03-22-1.log.gz
logstash-2023-03-18.log  logstash-2023-03-29.log                   logstash-plain-2023-03-12-1.log.gz        logstash-plain-2023-03-23-1.log.gz
logstash-2023-03-19.log  logstash-deprecation-2023-03-07-1.log.gz  logstash-plain-2023-03-13-1.log.gz        logstash-plain-2023-03-24-1.log.gz

所有这些都是由 Logstash 生成的。

现在我想用logrotate它们来删除旧文件。

这是我的配置logrotate:

[envoy@mirror-dfh0splogv logstash]$ cat /etc/logrotate.d/logstash
/var/log/logstash/logstash-20*.log {
    daily
    rotate 15
    compress
    delaycompress
}

/var/log/logstash/logstash-plain*.log.gz {
    daily
    rotate 5
}

我想要的很简单。对于logstash-20*.log文件,我只想保留 15 个最新文件。而对于logstash-plain*.log.gz,我只想保留 5 个最新的。

但是,当我执行命令时logrotate --force /etc/logrotate.d/logstash,所有文件名都附加了.1并且没有文件被删除:

logstash-2023-03-09.log.1  logstash-2023-03-20.log.1  logstash-deprecation-2023-03-07-1.log.gz  logstash-plain-2023-03-13-1.log.gz.1  logstash-plain-2023-03-24-1.log.gz.1
logstash-2023-03-10.log.1  logstash-2023-03-21.log.1  logstash-deprecation-2023-03-08-1.log.gz  logstash-plain-2023-03-14-1.log.gz.1  logstash-plain-2023-03-25-1.log.gz.1
logstash-2023-03-11.log.1  logstash-2023-03-22.log.1  logstash-deprecation-2023-03-09-1.log.gz  logstash-plain-2023-03-15-1.log.gz.1  logstash-plain-2023-03-26-1.log.gz.1
logstash-2023-03-12.log.1  logstash-2023-03-23.log.1  logstash-deprecation-2023-03-10-1.log.gz  logstash-plain-2023-03-16-1.log.gz.1  logstash-plain-2023-03-27-1.log.gz.1
logstash-2023-03-13.log.1  logstash-2023-03-24.log.1  logstash-deprecation.log                  logstash-plain-2023-03-17-1.log.gz.1  logstash-plain-2023-03-28-1.log.gz.1
logstash-2023-03-14.log.1  logstash-2023-03-25.log.1  logstash-json.log                         logstash-plain-2023-03-18-1.log.gz.1  logstash-plain.log
logstash-2023-03-15.log.1  logstash-2023-03-26.log.1  logstash-plain-2023-03-07-1.log.gz.1      logstash-plain-2023-03-19-1.log.gz.1  logstash-slowlog-json.log
logstash-2023-03-16.log.1  logstash-2023-03-27.log.1  logstash-plain-2023-03-09-1.log.gz.1      logstash-plain-2023-03-20-1.log.gz.1  logstash-slowlog-plain.log
logstash-2023-03-17.log.1  logstash-2023-03-28.log.1  logstash-plain-2023-03-10-1.log.gz.1      logstash-plain-2023-03-21-1.log.gz.1
logstash-2023-03-18.log.1  logstash-2023-03-29.log    logstash-plain-2023-03-11-1.log.gz.1      logstash-plain-2023-03-22-1.log.gz.1
logstash-2023-03-19.log.1  logstash-2023-03-29.log.1  logstash-plain-2023-03-12-1.log.gz.1      logstash-plain-2023-03-23-1.log.gz.1
logrotate
  • 1 个回答
  • 38 Views
Martin Hope
user89978
Asked: 2022-02-01 02:31:56 +0800 CST

了解日志轮换配置

  • 0

我很难理解这个 logrotate 文件。如果我错了请纠正我

/var/log/app-logs
{
        daily
        rotate 7
        maxage 7
        dateext
        compress
        delaycompress
        missingok
        notifempty
        create 666 ubuntu ubuntu
}

/var/log/app-logs将每天轮换(当天结束时压缩当天的日志文件)。logrotate 将确保压缩日志不超过 7 个(.gz) 如果有任何年龄大于 7 天的 .gz 文件,它们将被删除

linux logrotate
  • 1 个回答
  • 24 Views
Martin Hope
Dawson Smith
Asked: 2022-01-08 03:03:17 +0800 CST

Logrotate 场景 - 混合和匹配 cron.daily 和 daily 指令

  • 0

文件:

/etc/cron.daily/logrotate

有以下声明:

/usr/sbin/logrotate /etc/logrotate.conf

该logrotate.conf文件具有weekly内部定义的指令。

现在我有两个旋转配置文件abc和def里面/etc/logrotate.d的 . abc里面有指令daily,据我所知,它将覆盖. 并且没有这样的指令,因此它将从. 现在我怀疑它会每天运行,并将检查文件内部,而该 文件又包含指令。因此,总而言之,将通过和。我的问题是 和 的实际对数旋转频率是多少?他们是每天轮换还是每天轮换一次,每周轮换一次?weekly/etc/logrotate.confdefweekly/etc/logrotate.conf/etc/cron.daily/logrotate/etc/logrotate.confinclude /etc/logrotate.d/etc/cron.daily/logrotateabcdefabcdef

cron logrotate
  • 1 个回答
  • 203 Views
Martin Hope
Dawson Smith
Asked: 2022-01-06 23:23:03 +0800 CST

如果在 logrotate 的情况下定义了 size 参数,ifempty 和 notifempty 如何工作?

  • 1

假设我有这样的 logrotate 命令

/a/b/file.log{
size 5M 
ifempty
}

现在 logrotate 在大小应大于 5MB 的条件下工作,然后 logrotate 将开始为该文件工作。但是在这种情况下 ifempty 将如何工作?在这种情况下,优先级是什么?那notifempty的情况呢?

linux logrotate
  • 1 个回答
  • 334 Views
Martin Hope
Dawson Smith
Asked: 2022-01-06 04:25:58 +0800 CST

错误:错误设置 uid 0 和 gid 0 的所有者:不允许操作

  • 0

运行命令时/usr/sbin/logrotate /etc/logrotate.d/applogrotate。我得到错误error: error setting owner of a.s to uid 0 and gid 0: Operation not permitted。在 applogratate 文件中,我写create 0664 root root了我认为是错误原因的内容。有人可以帮忙解决吗?

logrotate
  • 1 个回答
  • 490 Views
Martin Hope
Dawson Smith
Asked: 2022-01-06 00:46:05 +0800 CST

了解 logrotate 中单独旋转和使用压缩旋转之间的区别

  • 0

下面的块没有压缩语句 -

/a/b/file.log{
size 200M
create 0664 root root
rotate 10
datext
dateformat -%Y-%m-%d-%s
}

这个有一个压缩声明 -

/a/b/file.log{
size 200M
create 0664 root root
rotate 10
compress
datext
dateformat -%Y-%m-%d-%s
}

这个有一个 nocompress 声明 -

/a/b/file.log{
size 200M
create 0664 root root
rotate 10
nocompress
datext
dateformat -%Y-%m-%d-%s
}

以上三种情况有什么区别?每个人的 logrotate 功能有何不同?

logrotate
  • 2 个回答
  • 118 Views
Martin Hope
Dawson Smith
Asked: 2022-01-05 23:50:58 +0800 CST

Logrotate 命令方块说明

  • 0

我有以下 logrotate 命令块 -

/a/b/file.log{
size 200M
create 0664 root root
rotate 10
compress
datext
dateformat -%Y-%m-%d-%s
}

有人可以详细说明上述块的含义吗?

尤其是陈述——

  • 创建 0664 root root
  • 数据文本
  • 日期格式 -%Y-%m-%d-%s

还有任何用于 logrotate 命令块的好资源

linux logrotate
  • 1 个回答
  • 18 Views
Martin Hope
Dawson Smith
Asked: 2022-01-05 10:45:15 +0800 CST

文件 cat /etc/logrotate.conf 和 cat /etc/logrotate.d 和 cat /etc/cron.daily/logrotate 之间的区别

  • 0

我是 logrotate 的新手。我看到三个文件/etc/logrotate.conf,它们对 logrotate 功能至关重要/etc/logrotate.d。/etc/cron.daily/logrotate但我无法理解他们个人的工作和意义。有人可以向我解释这两个文件的意义是什么吗?还有哪些对 logrotate 很重要的其他文件以及它们在哪里?

logrotate
  • 1 个回答
  • 116 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve