三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

ROS学习(五)清理日志

ROS学习(五)清理日志

背景

磁盘文件:rclpy 在终端输出日志的同时把日志写入 ~/.ros/log/<时间戳>/<节点名>.log,每次启动会建一个新目录;~/.ros/log/latest 是软链接指向最新一次
用 ros2 run 跑时,路径里能看到 servo_control_demo.log;
用 ros2 launch 跑时,还会有一份合并日志 launch.log。

清理7天前的日志

原样执行

# 先看看会删哪些(dry run,不真删)
find ~/.ros/log -mindepth 1 -maxdepth 1 -type d -mtime +7

# 确认没问题后再真删
find ~/.ros/log -mindepth 1 -maxdepth 1 -type d -mtime +7 -exec rm -rf {} +

清理命令-别名设置

查看当前shell

echo $0

1 如果shell是bash

# 1) 把别名追加到 ~/.bashrc(用 grep 防止重复添加)

grep -qxF "alias ros-logclean='find ~/.ros/log -mindepth 1 -maxdepth 1 -type d -mtime +7 -exec rm -rf {} +'" ~/.bashrc \ || echo "alias ros-logclean='find ~/.ros/log -mindepth 1 -maxdepth 1 -type d -mtime +7 -exec rm -rf {} +'" >> ~/.bashrc

# 2) 让当前终端立即识别新别名

source ~/.bashrc

2 如果shell是zsh

# 防重复追加

grep -qxF "alias ros-logclean='find ~/.ros/log -mindepth 1 -maxdepth 1 -type d -mtime +7 -exec rm -rf {} +'" ~/.zshrc \ || echo "alias ros-logclean='find ~/.ros/log -mindepth 1 -maxdepth 1 -type d -mtime +7 -exec rm -rf {} +'" >> ~/.zshrc

# 立即生效

source ~/.zshrc

用别名执行清理

ros-logclean
← 返回列表