---
title: "Bash - Rotera flera loggfiler samtidigt"
type: "forum-thread"
url: "https://www.webforum.nu/amne/programmering/51776-bash-rotera-flera-loggfiler-samtidigt"
topic: "Programmering"
topic_url: "https://www.webforum.nu/amne/programmering"
author: "FlashX"
published: "2002-08-30T18:01:26.000Z"
updated: "2004-06-22T13:35:36.000Z"
replies: 1
views: 2925
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/programmering/51776-bash-rotera-flera-loggfiler-samtidigt"
---

# Bash - Rotera flera loggfiler samtidigt

## #1 — FlashX, 2002-08-30T18:01Z

Programmerar inte i Bash men var tvungen att kika lite på det och skapade ett litet program som raderar alla loggfiler som man anger i en lista. Har man t.ex en utvecklingmaskin så blir det inte lika mycket som på en mer aktiv maskin men med åren tar de ju lite  plats så jag kör detta som cronjobb en gång i kvartalet. Man väljer själv vilka filer man vill radera genom att lägga till eller ta bort i skriptet.

```
#!/bin/bash
#
###################################
# Variabler att redigera
#
# Ange sökväg till loggfilerna (varje fil, egen rad)
LOGFILES="
/var/log/syslog
/var/log/messages
/var/log/maillog
"
#
# Sökväg för att starta om syslogd
RESTARTSYSLOGD="kill -HUP `cat /var/run/syslogd.pid`"
#
# Slut variabler att redigera
###################################

for each_log in $LOGFILES  
do
	if [ -f $each_log ]
	then
		rm $each_log
		touch $each_log

		done_log=$done_log"$each_log "
	else
		not_done_log=$not_done_log"$each_log "
	fi
done

# Starta om syslogd
$RESTARTSYSLOGD

if [ -n "$done_log" ]
then
	echo ""
	echo "Loggfilerna"
	echo "------------------------------"

		for each_done_log in $done_log
		do
        		echo "$each_done_log"
		done
	echo "------------------------------"
	echo "har nollställts."
	echo ""
fi

if [ -n "$not_done_log" ]
then
	echo ""
	echo "ERROR:"
	echo "Filerna"
	echo "------------------------------"

		for each_not_done_log in $not_done_log
		do
			echo "$each_not_done_log"
		done
	echo "------------------------------"
	echo "existerar inte (kontrollera sökvägarna)."
	echo ""
fi
```

Permalänk: https://www.webforum.nu/p/51776

## #2 — Viktor, 2004-06-22T13:35Z

Tråd flyttad från "Script - Övrigt".

/Viktor

Permalänk: https://www.webforum.nu/p/1370962

---

Tråden på webben: https://www.webforum.nu/amne/programmering/51776-bash-rotera-flera-loggfiler-samtidigt
