-问题描述
在Linux(RedHat)中想要执行一段自动化备份日志的命令
但是通过下面的命令 编辑了 crontab 没正确运行
0 0 * * * /path/to/save_journal_logs.sh
文件中的内容如下:
save_journal_logs.sh
#!/bin/bash
# 指定保存日志的目录
LOG_DIR="/path/to/log/directory"
# 设置日志文件名
LOG_FILE="${LOG_DIR}/journal_logs_$(date +%Y%m%d%H%M%S).log"
# 使用 journalctl 命令保存日志到文件
journalctl --since "24 hours ago" > "${LOG_FILE}"
# 删除过期的日志文件(可选)
find "${LOG_DIR}" -name "journal_logs_*" -mtime +7 -exec rm {} \;
通过下面的命令编辑了脚本
crontab -e
23 0 * * * /path/to/save_journal_logs.sh
发现脚本没有正确备份
- 问题排查
- 执行权限 切换成了 root (未成功)
- 手动在shell中执行 (未成功)
解决办法
- 主要的问题是发现 sh 脚本和保存日志的目录没有执行的权限
因此重新修改了 权限
sudo chmod 755 /path/to/save_journal_logs.sh
sudo chmod 755 /path/to/logs
然后再执行
crontab -e
文件就备份成功了文章来源:https://www.toymoban.com/news/detail-793641.html
crontab使用以及/etc/crontab文件和crontab -e命令区别文章来源地址https://www.toymoban.com/news/detail-793641.html
到了这里,关于linux中crontab编写自动化定时脚本无法正确运行(问题解决与汇总)附相关内容的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!