Question: Well, I'm a linux newbie, and I'm having an issue with a simple bash script.

I've got a program that adds to a log file while it's running. Over time that log file gets huge. I'd like to create a startup script which will rename and move the log file before each run, effectively creating separate log files for each run of the program. Here's what I've got so far:

[pastebin](http://pastebin.com/mDVuSZ5k)

```
DATE=$(date +"%Y%m%d%H%M")
mv server.log logs/$DATE.log
echo program

```

When run, I see this:

```
: command not found
program

```

When I cd to the logs directory and run dir, I see this:

```
201111211437\r.log\r

```

What's going on? I'm assuming there's some syntax issue I'm missing, but I can't seem to figure it out.

---

UPDATE: Thanks to shellter's comment below, I've found the problem to be due to the fact that I'm editing the .sh file in Notepad++ in windows, and then sending via ftp to the server, where I run the file via ssh. After running dos2unix on the file, it works.

New question: How can I save the file correctly in the first place, to avoid having to perform this fix every time I resend the file?

Answer: 
```
mv server.log logs/$(date -d "today" +"%Y%m%d%H%M").log

```
Well, it's not a direct answer to your question, but there's a tool in GNU/Linux whose job is to rotate log files on regular basis, keeping old ones zipped up to a certain limit. It's `logrotate`