在每天23点到06点之间,每隔30分钟显示/var/log/下的文件,同时,将其中的文件夹名称及个数输出到个人工作路径的shedule.md文件中,其他文件名及个数输出到个人工作路径的shedule.mf文件中。
时间: 2024-03-10 10:45:39 浏览: 21
好的,我明白了。可以使用 crontab 来实现定时任务的执行。你可以编辑 crontab 文件,添加以下内容:
```
0,30 23-6 * * * ls -l /var/log/ | awk '/^d/ {print $NF}' | tee -a ~/shedule.md; ls -l /var/log/ | awk '!/^d/ {print $NF}' | tee -a ~/shedule.mf
```
这个命令会在每天的 23:00 到 06:00 之间,每隔 30 分钟执行一次。它会列出 /var/log/ 目录下的所有文件和文件夹,并将文件夹名称及个数输出到 ~/shedule.md 文件中,其他文件名及个数输出到 ~/shedule.mf 文件中。
注意,这个命令只会列出文件和文件夹的名称及个数,如果你需要更详细的信息,可以修改命令中的参数。
相关问题
利用crontab命令在每天23点到06点之间,每隔30分钟显示/var/log/下的文件,将其中的文件夹名称及个数输出到个人工作路径的shedule.md文件中,其他文件名及个数输出到个人工作路径的shedule.mf文件中。
好的,我理解了你的问题。你可以使用以下命令来实现你的需求:
```
*/30 23,0-5 * * * echo "Directories:" && ls -l /var/log/ | grep ^d | awk '{print $9}' | tee -a ~/shedule.md && echo -e "\nFiles:" && ls -l /var/log/ | grep -v ^d | awk '{print $9}' | tee -a ~/shedule.mf
```
这个命令会在每天的23点到06点之间,每隔30分钟显示/var/log/下的文件夹名称及个数,将其中的文件夹名称及个数输出到个人工作路径的shedule.md文件中,其他文件名及个数输出到个人工作路径的shedule.mf文件中。
解释一下这个命令:
- `*/30 23,0-5 * * *` 意味着在每天的23点到06点之间,每隔30分钟执行一次命令。
- `echo "Directories:"` 输出一个"Direcotries:"的字符串。
- `ls -l /var/log/ | grep ^d | awk '{print $9}'` 列出/var/log/下的所有文件和文件夹,并且只显示文件夹的名称。
- `tee -a ~/shedule.md` 把上一步的输出写入到~/shedule.md文件中,并且同时输出到屏幕上。
- `echo -e "\nFiles:"` 输出一个"Files:"的字符串,并且换行。
- `ls -l /var/log/ | grep -v ^d | awk '{print $9}'` 列出/var/log/下的所有文件和文件夹,并且只显示文件的名称。
- `tee -a ~/shedule.mf` 把上一步的输出写入到~/shedule.mf文件中,并且同时输出到屏幕上。
注意:这个命令假设你有写入~/shedule.md和~/shedule.mf的权限。如果没有,请使用sudo命令或者联系系统管理员。
利用crontab命令在每天23点到06点之间,每隔30分钟显示/var/log/下的文件,同时,将其中的文件夹名称及个数输出到个人工作路径的shedule.md文件中,其他文件名及个数输出到个人工作路径的shedule.mf文件中。
好的,我来为您解答。
首先,您需要在终端中输入以下命令来编辑 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 配置。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)