Home Operation and Maintenance Linux Operation and Maintenance Methods and steps for implementing log rotation using Systemd and Crontab in Linux

Methods and steps for implementing log rotation using Systemd and Crontab in Linux

Sep 26, 2023 pm 07:04 PM
crontab systemd Log rotation

Methods and steps for implementing log rotation using Systemd and Crontab in Linux

Title: Methods and steps to implement log rotation using Systemd and Crontab in Linux

Text:

In the Linux system, the log file records Important events and error information that occur in the system, log files will become larger and larger as time goes by, not only occupying hard disk space, but also making it difficult to view the logs. In order to solve this problem, we can use Systemd and Crontab to implement log rotation, that is, regularly back up and archive log files. This article will introduce how to use Systemd and Crontab to implement log rotation methods and steps, and provide specific code examples.

1. Use Systemd to implement log rotation

  1. Create a log rotation configuration file
    First, we need to create a Systemd log rotation configuration file. Enter the following command in the terminal to create a configuration file named "myapp-logrotate.conf":
sudo nano /etc/systemd/journald.conf.d/myapp-logrotate.conf
Copy after login

Add the following content in the configuration file:

[Journal]
Storage=persistent
MaxFileSec=1month
Copy after login

Among them, "Storage The "parameter specifies the storage method of the log file. "persistent" means that the log file will be persisted on the disk. The "MaxFileSec" parameter specifies the retention time of log files, which is set to 1 month here.

Save and exit the configuration file.

  1. Restart Systemd log service
    Enter the following command in the terminal to restart Systemd log service:
sudo systemctl restart systemd-journald.service
Copy after login

Now, Systemd will rotate logs according to the settings in the configuration file document.

2. Use Crontab to implement log rotation

  1. Create a log rotation script
    Next, we need to create a Crontab log rotation script. Enter the following command in the terminal to create a script file named "logrotate-script.sh":
sudo nano /usr/local/bin/logrotate-script.sh
Copy after login

Paste the following code into the script file:

#!/bin/bash

# 日志文件路径
logfile="/var/log/myapp/myapp.log"

# 归档目录路径
archive_dir="/var/log/myapp/archive"

# 归档文件名
archive_file="myapp_$(date +'%Y%m%d%H%M%S').log"

# 压缩归档文件
tar -czvf $archive_dir/$archive_file $logfile

# 清空日志文件
> $logfile
Copy after login

Save and exit script file.

  1. Grant script execution permission
    Enter the following command in the terminal to grant script execution permission:
sudo chmod +x /usr/local/bin/logrotate-script.sh
Copy after login
  1. Create Crontab task
    Finally, we A Crontab task needs to be created to execute the log rotation script regularly. Enter the following command in the terminal to edit Crontab:
crontab -e
Copy after login

Add the following content in the Crontab file:

# 每天的凌晨0点执行日志轮转脚本
0 0 * * * /usr/local/bin/logrotate-script.sh
Copy after login

Save and exit the Crontab file.

Now, Crontab will execute the log rotation script at 0 am every day to archive and clear the log files.

Summary:

Through the above methods and steps, we can use Systemd and Crontab to implement log rotation. Use Systemd to set the retention time of log files, and use Crontab to regularly execute log rotation scripts to archive and clear log files. Through reasonable configuration and use, we can effectively manage and maintain system log files.

The above is the detailed content of Methods and steps for implementing log rotation using Systemd and Crontab in Linux. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
1 months ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Do you know some reasons why crontab scheduled tasks are not executed? Do you know some reasons why crontab scheduled tasks are not executed? Mar 09, 2024 am 09:49 AM

Summary of some reasons why crontab scheduled tasks are not executed. Update time: January 9, 2019 09:34:57 Author: Hope on the field. This article mainly summarizes and introduces to you some reasons why crontab scheduled tasks are not executed. For everyone Solutions are given for each of the possible triggers, which have certain reference and learning value for colleagues who encounter this problem. Students in need can follow the editor to learn together. Preface: I have encountered some problems at work recently. The crontab scheduled task was not executed. Later, when I searched on the Internet, I found that the Internet mainly mentioned these five incentives: 1. The crond service is not started. Crontab is not a function of the Linux kernel, but relies on a cron.

In-depth understanding of log4j configuration: implementing log rotation and backup strategies In-depth understanding of log4j configuration: implementing log rotation and backup strategies Feb 18, 2024 pm 02:05 PM

Detailed explanation of log4j configuration: How to configure log rotation and backup policies, specific code examples are required Introduction: For an enterprise-level application, logs are very important. It not only helps developers track and fix bugs, but also monitors system health in real time. Log4j is one of the most commonly used logging frameworks in Java. It provides a wealth of configuration options. This article will introduce in detail the configuration method of log4j's log rotation and backup strategy, and give specific code examples. 1. Log rotation configuration The log rotation strategy is

How to use Systemd and Crontab to implement parallel execution of tasks in Linux systems How to use Systemd and Crontab to implement parallel execution of tasks in Linux systems Sep 26, 2023 pm 06:37 PM

How to use Systemd and Crontab to implement parallel execution of tasks in a Linux system. In a Linux system, parallel execution of tasks is one of the important means to improve system efficiency and performance. This article will introduce how to use Systemd and Crontab tools to implement parallel execution of tasks in a Linux system, and provide specific code examples. 1. Introduction to Systemd Systemd is a tool used to manage the startup process and service management of Linux systems. via configuration

How to read linux crontab error log How to read linux crontab error log Mar 07, 2023 am 09:29 AM

How to view the crontab error log in Linux: 1. View the file directory "/var/log/cron"; 2. Use the "tail -f /var/log/cron" command to view the tail of the file in real time; 3. Use "vim /var /log/cron" command can be viewed through an advanced text viewer.

How to solve the pitfalls of commenting crontab files and crontab executing sh in Linux How to solve the pitfalls of commenting crontab files and crontab executing sh in Linux May 15, 2023 pm 09:58 PM

Linux annotation crontab files and crontab execution sh pitfalls. It turns out that many crontabs are written under Linux to perform certain tasks regularly. Now there are the following requirements: Requirement: It is to annotate certain crontab tasks. Method: Just add the crontab to be canceled. Just add '#' before the task. e.g.54**sunecho"runat5after4everysunday"Comment: #54**sunecho"runat5after4everysunday"It's that simple. Encounter pit 1, look at the following example recently

How to compile Mysql5.7.11 through Systemd How to compile Mysql5.7.11 through Systemd May 29, 2023 pm 06:46 PM

Main features of MySQL 5.7: Native support for Systemd Better performance: Better optimization for multi-core CPUs, solid-state drives, and locks Better InnoDB storage engine More robust replication function: Replication brings no data loss at all , traditional financial customers can also choose to use the MySQL database. In addition, GTID online smooth upgrade also becomes possible with a better optimizer: the significance of optimizer code reconstruction will bring huge improvements in this version and subsequent versions, Oracle officials are solving the biggest problem before MySQL native JSON type Support better geographical information service support: InnoDB natively supports geographical location type, supports GeoJSON, GeoHash special

How to automatically restart applications in Linux using Systemd and Crontab How to automatically restart applications in Linux using Systemd and Crontab Sep 28, 2023 pm 03:35 PM

How to use Systemd and Crontab to automatically restart applications in Linux systems. In Linux systems, Systemd and Crontab are two very important tools. Systemd is a system and service manager, while Crontab is a tool for automating tasks at specified times. This article will use a specific example to introduce how to use Systemd and Crontab to automatically restart applications in Linux systems. Suppose we have a No

How to use Systemd and Crontab to set the priority of scheduled tasks in Linux system How to use Systemd and Crontab to set the priority of scheduled tasks in Linux system Sep 27, 2023 am 08:25 AM

How to use Systemd and Crontab to set the priority of scheduled tasks in a Linux system requires specific code examples. In Linux systems, we often need to set up scheduled tasks to perform some repetitive operations, such as scheduled backup files, regular log cleaning, etc. However, different tasks may have different priorities, some tasks require higher priority to ensure they are executed on time, while some tasks can be executed later. This article will introduce how to use Systemd and Crontab to set timings

See all articles