Need Help with making a bash script
Need Help with making a bash script
am 28.05.2004 23:36:49 von Fernando
I have two problems.
1. I'm making a script to add IP's to my blacklist...
I need to add three , the word 'REJECT' and a #DDMMYYYY that it's
being done to a text file that has the IP's in it... ie this is the
original list;
80.25.148.216
80.43.197.197
needs to end up like this...
80.25.148.216 REJECT #28052004
80.43.197.197 REJECT #28052004
2. The second is a little bit more complicated.
My server is having trouble deleting virus emails, I want to help it
along with a little cron job that will clear out virus emails every 10
minutes or so. I get the list of infected emails from the maillog but in
the maillog only the email ID is displayed. In the actual queue there
are two files per 1 email ID.
ie... this is what the log spits out as emails that are infected that I
want to delete...
foo1
foo2
foo3
but in the queue there are two files per email, a qffoo and a dffoo so
in the queue the previous emails would actually be...
dffoo1
qffoo1
dffoo2
qffoo2
dffoo3
qffoo3
So, is it possible to run rm with a wildcard to compensate for the df qf
letters and still feed it the list of email ID's which make up the last
part of the df qf files?
don't have a clue where to start, thanks
Fernando
-
To unsubscribe from this list: send the line "unsubscribe linux-admin" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Need Help with making a bash script
am 29.05.2004 00:40:32 von Jens Knoell
Hi Fernando
answers inline.
Fernando wrote:
> I have two problems.
>
>
> 1. I'm making a script to add IP's to my blacklist...
>
> I need to add three , the word 'REJECT' and a #DDMMYYYY that it's
> being done to a text file that has the IP's in it... ie this is the
> original list;
>
> 80.25.148.216
> 80.43.197.197
>
> needs to end up like this...
>
> 80.25.148.216 REJECT #28052004
> 80.43.197.197 REJECT #28052004
I just happen to have almost exactly such a script running here. The
relevant part is this one here, modified to your needs. It requires that
you set SOURCEFILE to whatever file you use. Same for DESTFILE. I didn't
put any secure checks for either source or dest in there, just FYI.
rm $DESTFILE
cat $SOURCEFILE | while read TCPREMOTEIP
do
echo "$TCPREMOTEIPREJECT #`date +%Y%m%d`" >> $DESTFILE
done
The same thing can probably also be done faster with sed.
> 2. The second is a little bit more complicated.
>
> My server is having trouble deleting virus emails, I want to help it
> along with a little cron job that will clear out virus emails every 10
> minutes or so. I get the list of infected emails from the maillog but in
> the maillog only the email ID is displayed. In the actual queue there
> are two files per 1 email ID.
>
> ie... this is what the log spits out as emails that are infected that I
> want to delete...
>
> foo1
> foo2
> foo3
>
> but in the queue there are two files per email, a qffoo and a dffoo so
> in the queue the previous emails would actually be...
>
> dffoo1
> qffoo1
> dffoo2
> qffoo2
> dffoo3
> qffoo3
>
> So, is it possible to run rm with a wildcard to compensate for the df qf
> letters and still feed it the list of email ID's which make up the last
> part of the df qf files?
Yes, simply run it with wildcards like this: rm ??foo1
Hope this helps
Jen
-
To unsubscribe from this list: send the line "unsubscribe linux-admin" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Need Help with making a bash script
am 29.05.2004 00:43:20 von Herta Van den Eynde
This message is in MIME format.
---MOQ1085784200f7e580663efb4349509d11ac8e3437ed
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
ip.bsh expects a file with ip addresses named ip.in in the same directory.
It will produce ip.out. Don't cut-n-paste the script as you'll probably
lose the tabs (they've been entered with + in vi, in case you
wondered).
email.bsh expects a file email.in with the IDs, and produces email.out.
Kind regards,
Herta
Quoting Fernando :
> I have two problems.
>
>
> 1. I'm making a script to add IP's to my blacklist...
>
> I need to add three , the word 'REJECT' and a #DDMMYYYY that it's
> being done to a text file that has the IP's in it... ie this is the
> original list;
>
> 80.25.148.216
> 80.43.197.197
>
> needs to end up like this...
>
> 80.25.148.216 REJECT #28052004
> 80.43.197.197 REJECT #28052004
>
>
>
> 2. The second is a little bit more complicated.
>
> My server is having trouble deleting virus emails, I want to help it
> along with a little cron job that will clear out virus emails every 10
> minutes or so. I get the list of infected emails from the maillog but in
>
> the maillog only the email ID is displayed. In the actual queue there
> are two files per 1 email ID.
>
> ie... this is what the log spits out as emails that are infected that I
> want to delete...
>
> foo1
> foo2
> foo3
>
> but in the queue there are two files per email, a qffoo and a dffoo so
> in the queue the previous emails would actually be...
>
> dffoo1
> qffoo1
> dffoo2
> qffoo2
> dffoo3
> qffoo3
>
> So, is it possible to run rm with a wildcard to compensate for the df qf
>
> letters and still feed it the list of email ID's which make up the last
> part of the df qf files?
>
>
> don't have a clue where to start, thanks
>
> Fernando
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-admin"
> in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
---MOQ1085784200f7e580663efb4349509d11ac8e3437ed
Content-Type: application/octet-stream; name="ip.bsh"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="ip.bsh"
IyEvYmluL2Jhc2gKc2VkIC1lICJzOiQ6CQkJUkVKRUNUICBcI2BkYXRlICsl ZCVtJVlgOiIgaXAu
aW4gPiBpcC5vdXQK
---MOQ1085784200f7e580663efb4349509d11ac8e3437ed
Content-Type: application/octet-stream; name="email.bsh"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="email.bsh"
IyEvYmluL2Jhc2gKc2VkIC1lICJzOi4qOnJtIGRmJjsgcm0gcWYmOiIgZW1h aWwuaW4gPiBlbWFp
bC5vdXQK
---MOQ1085784200f7e580663efb4349509d11ac8e3437ed--
-
To unsubscribe from this list: send the line "unsubscribe linux-admin" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Need Help with making a bash script
am 29.05.2004 01:52:20 von chuck gelm net
Fernando wrote:
> I have two problems.
>
>
> 1. I'm making a script to add IP's to my blacklist...
>
> I need to add three , the word 'REJECT' and a #DDMMYYYY that it's
> being done to a text file that has the IP's in it... ie this is the
> original list;
>
> 80.25.148.216
> 80.43.197.197
>
> needs to end up like this...
>
> 80.25.148.216 REJECT #28052004
> 80.43.197.197 REJECT #28052004
>
>
>
> 2. The second is a little bit more complicated.
>
> My server is having trouble deleting virus emails, I want to help it
> along with a little cron job that will clear out virus emails every 10
> minutes or so. I get the list of infected emails from the maillog but in
> the maillog only the email ID is displayed. In the actual queue there
> are two files per 1 email ID.
>
> ie... this is what the log spits out as emails that are infected that I
> want to delete...
>
> foo1
> foo2
> foo3
>
> but in the queue there are two files per email, a qffoo and a dffoo so
> in the queue the previous emails would actually be...
>
> dffoo1
> qffoo1
> dffoo2
> qffoo2
> dffoo3
> qffoo3
>
> So, is it possible to run rm with a wildcard to compensate for the df qf
> letters and still feed it the list of email ID's which make up the last
> part of the df qf files?
>
>
> don't have a clue where to start, thanks
>
> Fernando
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-admin" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
example usage:
sh test.sh < infilename > outfilename
# test.sh
ADDON="\tREJECT\t#28052004\n"
BUFFER="\n"
while [ $BUFFER != $ADDON ]; do
read GOZINDA
BUFFER="$GOZINDA$ADDON"
printf $BUFFER
done
# test.sh
>
>
-
To unsubscribe from this list: send the line "unsubscribe linux-admin" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Need Help with making a bash script
am 29.05.2004 02:05:50 von chuck gelm net
Fernando wrote:
> I have two problems.
>
>
> 1. I'm making a script to add IP's to my blacklist...
>
> I need to add three , the word 'REJECT' and a #DDMMYYYY that it's
> being done to a text file that has the IP's in it... ie this is the
> original list;
>
> 80.25.148.216
> 80.43.197.197
>
> needs to end up like this...
>
> 80.25.148.216 REJECT #28052004
> 80.43.197.197 REJECT #28052004
>
>
>
> 2. The second is a little bit more complicated.
>
> My server is having trouble deleting virus emails, I want to help it
> along with a little cron job that will clear out virus emails every 10
> minutes or so. I get the list of infected emails from the maillog but in
> the maillog only the email ID is displayed. In the actual queue there
> are two files per 1 email ID.
>
> ie... this is what the log spits out as emails that are infected that I
> want to delete...
>
> foo1
> foo2
> foo3
>
> but in the queue there are two files per email, a qffoo and a dffoo so
> in the queue the previous emails would actually be...
>
> dffoo1
> qffoo1
> dffoo2
> qffoo2
> dffoo3
> qffoo3
>
> So, is it possible to run rm with a wildcard to compensate for the df qf
> letters and still feed it the list of email ID's which make up the last
> part of the df qf files?
>
>
> don't have a clue where to start, thanks
>
> Fernando
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-admin" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
part 2:
example:
sh test.sh < infilename
#test.sh
GOZINDA="text"
while [ $GOZINDA != "" ]; do
read GOZINDA
printf "rm df$GOZINDA\n"
# rm df$GOZINDA
printf "rm qf$GOZINDA\n"
# rm qf$GOZINDA
printf "\n"
done
#test.sh
>
>
-
To unsubscribe from this list: send the line "unsubscribe linux-admin" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Need Help with making a bash script
am 29.05.2004 02:59:21 von salt
For your first problem:
today=`date "#+%d%m%Y"`
while read ipaddr
do
echo "$ipaddr REJECT $today"
done < blacklist_file > /tmp/new_file$$
mv /tmp/new_file$$ blacklist_file
On Fri, May 28, 2004 at 05:36:49PM -0400, Fernando wrote:
> I have two problems.
>
>
> 1. I'm making a script to add IP's to my blacklist...
>
> I need to add three , the word 'REJECT' and a #DDMMYYYY that it's
> being done to a text file that has the IP's in it... ie this is the
> original list;
>
> 80.25.148.216
> 80.43.197.197
>
> needs to end up like this...
>
> 80.25.148.216 REJECT #28052004
> 80.43.197.197 REJECT #28052004
>
>
>
> 2. The second is a little bit more complicated.
--
Rudy Vener
-
To unsubscribe from this list: send the line "unsubscribe linux-admin" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Need Help with making a bash script
am 29.05.2004 07:04:00 von Fernando
Hey I apreciate all of the answers but these scripts are nice and
simple. They get the job done in one line with sed.
thanks again.
Herta Van den Eynde wrote:
> ip.bsh expects a file with ip addresses named ip.in in the same directory.
> It will produce ip.out. Don't cut-n-paste the script as you'll probably
> lose the tabs (they've been entered with + in vi, in case you
> wondered).
>
> email.bsh expects a file email.in with the IDs, and produces email.out.
>
> Kind regards,
>
> Herta
>
> Quoting Fernando :
>
>
>>I have two problems.
>>
>>
>>1. I'm making a script to add IP's to my blacklist...
>>
>>I need to add three , the word 'REJECT' and a #DDMMYYYY that it's
>>being done to a text file that has the IP's in it... ie this is the
>>original list;
>>
>>80.25.148.216
>>80.43.197.197
>>
>>needs to end up like this...
>>
>>80.25.148.216 REJECT #28052004
>>80.43.197.197 REJECT #28052004
>>
>>
>>
>>2. The second is a little bit more complicated.
>>
>>My server is having trouble deleting virus emails, I want to help it
>>along with a little cron job that will clear out virus emails every 10
>>minutes or so. I get the list of infected emails from the maillog but in
>>
>>the maillog only the email ID is displayed. In the actual queue there
>>are two files per 1 email ID.
>>
>>ie... this is what the log spits out as emails that are infected that I
>>want to delete...
>>
>>foo1
>>foo2
>>foo3
>>
>>but in the queue there are two files per email, a qffoo and a dffoo so
>>in the queue the previous emails would actually be...
>>
>>dffoo1
>>qffoo1
>>dffoo2
>>qffoo2
>>dffoo3
>>qffoo3
>>
>>So, is it possible to run rm with a wildcard to compensate for the df qf
>>
>>letters and still feed it the list of email ID's which make up the last
>>part of the df qf files?
>>
>>
>>don't have a clue where to start, thanks
>>
>>Fernando
>>
>>-
>>To unsubscribe from this list: send the line "unsubscribe linux-admin"
>>in
>>the body of a message to majordomo@vger.kernel.org
>>More majordomo info at http://vger.kernel.org/majordomo-info.html
>>
-
To unsubscribe from this list: send the line "unsubscribe linux-admin" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Need Help with making a bash script
am 29.05.2004 22:00:43 von Russell Evans
On Fri, 28 May 2004 17:36:49 -0400
"Fernando" wrote:
> I have two problems.
>
>
> 1. I'm making a script to add IP's to my blacklist...
>
> I need to add three , the word 'REJECT' and a #DDMMYYYY that
> it's being done to a text file that has the IP's in it... ie this is
> the original list;
>
> 80.25.148.216
> 80.43.197.197
>
> needs to end up like this...
>
> 80.25.148.216 REJECT #28052004
> 80.43.197.197 REJECT #28052004
>
Assuming that you are documenting why you are blocking an address,
instead of the date as a comment, you might was to use a case number.
The case number would point to a record of the event that triggered the
blocking, with the appropriate log files snips, packet traces, machines
effected, ...
Thank you
Russell
-
To unsubscribe from this list: send the line "unsubscribe linux-admin" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Need Help with making a bash script
am 01.06.2004 15:03:46 von Fernando
Russell Evans wrote:
> On Fri, 28 May 2004 17:36:49 -0400
> "Fernando" wrote:
>
>
>>I have two problems.
>>
>>
>>1. I'm making a script to add IP's to my blacklist...
>>
>>I need to add three , the word 'REJECT' and a #DDMMYYYY that
>>it's being done to a text file that has the IP's in it... ie this is
>>the original list;
>>
>>80.25.148.216
>>80.43.197.197
>>
>>needs to end up like this...
>>
>>80.25.148.216 REJECT #28052004
>>80.43.197.197 REJECT #28052004
>>
>
>
> Assuming that you are documenting why you are blocking an address,
> instead of the date as a comment, you might was to use a case number.
> The case number would point to a record of the event that triggered the
> blocking, with the appropriate log files snips, packet traces, machines
> effected, ...
>
> Thank you
> Russell
> -
> To unsubscribe from this list: send the line "unsubscribe linux-admin" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
I was thinking about putting the date in because I was going to clear
out IP's after a couple of months. Just in case it was a one time error
where they sent out infected email. The case number system sounds
interesting, would I need it for CYA for anything?
-
To unsubscribe from this list: send the line "unsubscribe linux-admin" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html