You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在关机或重启时执行OpenSSL命令,实现文件加密与时间记录?

实现关机/重启时自动加密文件并记录时间

我最近折腾了个小需求——每次关机或者重启的时候自动加密指定文件,还得把操作时间记录下来,整理了完整步骤分享给大家:

1. 编写执行加密和日志记录的bash脚本

先创建并编辑一个bash脚本,用来完成加密文件和记录时间的操作:

vim log.sh

把以下内容写入脚本(可以根据自己的需求修改密钥、待加密文件路径和日志文件路径):

# 设置加密密钥
key="123456"
# 使用OpenSSL的3DES算法加密$HOME/test文件,输出为test.asc
openssl enc -des3 -a -salt -in $HOME/test -k ${key} -out $HOME/test.asc
# 将当前时间追加到日志文件中
date >> /home/log.info

2. 创建systemd服务单元文件

要让脚本在关机/重启前自动执行,我们需要借助systemd的服务单元来配置:

sudo vim /etc/systemd/system/log.service

写入以下内容(补全之前没写完的[Install]段内容):

[Unit]
Description=Run command at shutdown
# 确保服务在关机、重启目标执行前运行
Before=shutdown.target reboot.target

[Service]
# 定义为一次性任务类型
Type=oneshot
# 让服务启动后保持活跃状态,这样ExecStop指令才会在关机时触发
RemainAfterExit=true
# 指定关机时要执行的脚本路径
ExecStop=/bin/bash /home/log.sh

[Install]
# 设置服务在多用户模式下激活
WantedBy=multi-user.target

3. 激活并启用服务

最后别忘了让systemd加载新的服务配置,并且设置开机自动启用:

# 重新加载systemd配置
sudo systemctl daemon-reload
# 启用服务
sudo systemctl enable log.service

这样设置之后,每次关机或者重启系统时,都会自动执行加密操作并记录时间啦!

内容的提问来源于stack exchange,提问作者showkey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:06:32