利用crontab命令在每天23点到06点之间,每隔30分钟显示/var/log/下的文件,同时,将其中的文件夹名称及个数输出到个人工作路径的shedule.md文件中,其他文件名及个数输出到个人工作路径的shedule.mf文件中。
时间: 2024-03-10 07:45:50 浏览: 19
好的,我来为您解答。
首先,您需要在终端中输入以下命令来编辑 crontab 配置文件:
```shell
crontab -e
```
然后在文件末尾添加以下内容:
```shell
0,30 23-23,0-6 * * * ls -l /var/log/ > /tmp/logs.txt && cat /tmp/logs.txt | grep '^d' | awk '{print $9}' | tee -a ~/shedule.md && cat /tmp/logs.txt | grep -v '^d' | awk '{print $9}' | tee -a ~/shedule.mf
```
这条命令会在每天晚上 23 点到早上 6 点之间,每隔 30 分钟显示 /var/log/ 目录下的文件,并将其中的文件夹名称及个数输出到个人工作路径的 shedule.md 文件中,其他文件名及个数输出到个人工作路径的 shedule.mf 文件中。
解释一下命令:
- `0,30 23-23,0-6 * * *` 表示在每天晚上 23 点到早上 6 点之间,每隔 30 分钟执行一次命令。
- `ls -l /var/log/ > /tmp/logs.txt` 表示将 /var/log/ 目录下的文件列表输出到 /tmp/logs.txt 文件中。
- `cat /tmp/logs.txt | grep '^d' | awk '{print $9}' | tee -a ~/shedule.md` 表示从 /tmp/logs.txt 文件中查找以 d 开头的行,提取出第九个字段即文件夹名称,然后将其追加写入 ~/shedule.md 文件中。
- `cat /tmp/logs.txt | grep -v '^d' | awk '{print $9}' | tee -a ~/shedule.mf` 表示从 /tmp/logs.txt 文件中查找不以 d 开头的行,提取出第九个字段即文件名称,然后将其追加写入 ~/shedule.mf 文件中。
最后,按 Ctrl + X,输入 y 确认保存,即可完成 crontab 配置。