如何使用 WSL 上的 cron 作业清空日志文件?

如何使用 WSL 上的 cron 作业清空日志文件?

WSL 中的日志目录在哪里?

好像没有这样的目录/var/log/

我的目标是运行这个 *nix cron 每日命令:

0 0 * * * cat /dev/null > /var/mail/* /var/log/*

答案1

/var/log/var/log(至少在我刚刚在 Windows 系统中安装的 16.04.3 LTS 版本中)。

$ ls -l /var/log
total 304
drwxr-xr-x 0 root root    512 Sep 22 18:15 apt
-rw-rw---- 1 root utmp      0 Sep 22 18:15 btmp
drwxr-xr-x 0 root root    512 Jul 19 01:29 dist-upgrade
-rw-r--r-- 1 root root  12794 Sep 22 18:15 dpkg.log
drwxr-xr-x 0 root root    512 Sep 22 18:13 fsck
-rw-rw-r-- 1 root utmp 292292 Jan 14 19:58 lastlog
drwxr-xr-x 0 root root    512 Aug 23 04:06 lxd
drwxr-x--- 0 root adm     512 Aug  1 04:46 unattended-upgrades
-rw-rw-r-- 1 root utmp      0 Sep 22 18:15 wtmp

但是您无法将输出重定向到文件和子目录列表(正如我在评论中告诉您的那样)。

您可以通过以下 cronjob(针对 root)清空所有日志文件:

find /var/log -type f -exec truncate -s 0 {} \;

相关内容