以下是在 Linux 系统中实现定时执行top
命令并输出到文件中,保留三天信息且每天生成一个文件的方法。
- 创建一个 shell 脚本,例如
top_log.sh
:
bash
#!/bin/bash
timestamp=$(date +%Y%m%d)
log_file="/path/to/logs/top_${timestamp}.log"
top -b -n 1 >> $log_file
上述脚本中,/path/to/logs/
需替换为你实际希望存储日志文件的路径。脚本使用当前日期作为文件名的一部分,然后执行top
命令并将结果追加到对应的日志文件中。
- 设置定时任务,使用
crontab -e
编辑定时任务列表:
在打开的编辑器中添加以下内容:
plaintext
0 0 * * * /path/to/top_log.sh
这表示每天零点执行/path/to/top_log.sh
脚本。
- 保留三天的信息可以通过编写一个清理旧日志的脚本或者使用系统的日志 rotate 工具来实现。例如,可以编写一个清理脚本
clean_top_logs.sh
:
bash
#!/bin/bash
logs_path="/path/to/logs/"
keep_days=3
find $logs_path -type f -mtime +$keep_days -name "top_*.log" -delete
然后可以将这个清理脚本也添加到定时任务中,比如每天凌晨一点执行:
plaintext
0 1 * * * /path/to/clean_top_logs.sh
这样就可以实现定时执行top
命令并输出到文件中,同时保留三天的信息,每天生成一个文件。