Clear a log file without deleting it
Need to clear out a log file to get rid of the "noise" in it? I do that often when tracking down a problem. However, deleting it usually means restarting the service that spawned it, which is not always possible (on a production server). The solution is to use redirection and the so-called "bit bucket" to get this done.
You clear the contents of a file (by sending it null data), but keep the file itself. Here's how:
Lets say we are not happy that the "lastlog" file has grown to 19 megabytes in size.
# ls -ltr lastlog
-r-------- 1 root root 19M Feb 6 12:34 lastlog
So we fill up the lastlog file with nothingness from /dev/null:
# cat /dev/null > lastlog
Ahhh, now lastlog is a good size!
# ls -ltr lastlog
-r-------- 1 root root 0 Feb 6 12:34 lastlog
You clear the contents of a file (by sending it null data), but keep the file itself. Here's how:
Lets say we are not happy that the "lastlog" file has grown to 19 megabytes in size.
# ls -ltr lastlog
-r-------- 1 root root 19M Feb 6 12:34 lastlog
So we fill up the lastlog file with nothingness from /dev/null:
# cat /dev/null > lastlog
Ahhh, now lastlog is a good size!
# ls -ltr lastlog
-r-------- 1 root root 0 Feb 6 12:34 lastlog
<< Home