【Linux】生成一个以执行的文件sh同名+时间的log文件

本文介绍了一种在Linux环境下执行shell脚本时,如何自动生成带有执行时间戳的日志文件的方法。通过简单的脚本操作,可以将日志文件的名称设置为执行的shell脚本名称加上当前的时间戳,方便后续的日志管理和追踪。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux生成一个以执行的文件sh为名+时间的log文件

场景:
有时执行sh文件时,需要将文件前缀名+时间当作log文件前缀

解决:
获取文件名(包括后缀)
v_fullName=$0

获取文件前缀名
v_name=${v_fullName%.*}

文件前缀名+时间(20190406_163021)
v_nameLog=${v_name}_`date +%y%m%d_%H%M%S`.log

演示:
执行test.sh文件
# sh test.sh

会获得的文件名如下
test_190406_163342.log

 

### 如何在Linux服务器中恢复误删的文件 #### 方法一:使用 `foremost` 工具恢复已删除文件 可以利用数据恢复工具 `foremost` 来尝试恢复被误删的文件。此工具通过扫描磁盘中的未分配空间来寻找丢失的数据并将其恢复。 安装 `foremost` 并创建用于存储恢复文件的目标目录: ```bash sudo apt install foremost mkdir /root/restored ``` 执行恢复命令,指定要扫描的分区以及目标文件类型(例如 JPG 图片),并将恢复后的文件保存至 `/root/restored/` 目录下: ```bash foremost -i /dev/sda3 -t jpg -o /root/restored/ ``` 完成上述操作后,在恢复的文件夹中查找需要的文件即可[^1]。 #### 方法二:设置自定义垃圾篓防止未来误删 为了避免再次发生类似的误删事件,可以在系统中配置一个类似于回收站的功能。当使用 `rm` 删除文件时,这些文件实际上会被移动到特定路径下的隐藏 `.trash` 文件夹中,并附时间戳作为扩展以便区分不同版本的同名文件。 实现这一功能的具体步骤如下: 修改默认行为使得每次调用 rm 实际上调用了脚本而不是真正的移除指令;这样做的好处是可以保留一份副本直到手动清理为止。 ```bash alias rm='mv --backup=numbered -t $HOME/.trash' ``` 此外还需要定期安排任务自动清除旧记录以节省硬盘资源消耗: ```bash 30 6 * * * /bin/bash /home/lixy/bin/removeRF.sh /home/lixy/.trash > /home/lixy/.trash/remove.log ``` 以上代码片段展示了如何设定每日凌晨六点半运行一次清理程序[^2]。 #### 方法三:借助 VSCode 插件特性尝试本地缓存检索 对于那些依赖于 Visual Studio Code 进行远程开发工作的用户来说,如果之前已经启用了某些同步机制或者插件支持,则有可能存在部分历史快照可供回滚使用。然而需要注意的是并非所有的场景都能够适用这种方法——特别是考虑到团队协作环境可能带来的额外约束条件限制了个人自由度的情况下更是如此[^4]。 #### 方法四:基于日志分析定位残留痕迹 有时即使物理层面彻底销毁也无法完全抹掉所有踪迹。因此可以通过检查进程活动记录或者其他形式间接获取线索进而采取相应措施以补救。比如下面的例子演示了一个具体的案例过程: 假设某个应用程序正在不断生成新的 PID 文件但是偶尔会意外终止从而造成遗留问题的话,那么就可以按照这种方式来进行排查处理: ```bash [root@mysql-manager fd]# cp 1 /root/ndb_1_out.log [root@mysql-manager fd]# cp 3 /root/ndb_1_cluster.log [root@mysql-manager fd]# cp 5 /root/ndb_1.pid ``` 最后一步则是把成功抢救出来的成果迁移回到原本应有的位置上去继续发挥作用[^5]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值