Find directories not containing foo, and copy foo to them
Hello all,
I have a situation where I have a web root directory with a few thousand users spread out into 100 subdirectories in a 00/firstname.lastname, 01/firstname.lastname, etc. hierarchy. I suddenly need to make sure that each of these user directories contains a default index.html file (about 1/3 of them don't).
I'm kind of a scripting newbie, so I'm having trouble with the mechanics. The thing that's most perplexing to me is to do a find in [00-99] -maxdepth=2 and search for all user directories that do not contain an index file (index.htm* and/or homepage.html).
I think if I can figure out how to search on that string, I can figure out how to put the index file where it doesn't exist, so what I really need to know is how to search for what's missing.
Presumably there is a way to do it with "find" by NOTting a clause and I'm fairly sure someone will point it out soon.
Still, there is a way to do it with a shell script and since this part of the forum is about scripting you could try this:
1. It is easy to cycle through all your directories by doing an "ls -1" and feed that to a while-loop:
If you have 2 levels of directories you can nest 2 of these loops to get what you want.
Now, there is an option to "test", "-f", which is true, if a file with this name does exist. We could even exchange it to "-r", which is only true if a file exists and is available for read-access (i suppose you know that "test -r" and "[ -r ]" is the same, don't you?):
You should be able to work your way from there, replace the "print - ..." statement with whatever you want to do, copy the file there, write to a log, etc.
I am writing a BASH script to update a webserver and then restart Apache. It looks basically like this:
#!/bin/bash
rsync /path/on/local/machine/ foo.com:path/on/remote/machine/
ssh foo.com sudo /etc/init.d/apache2 reloadrsync and ssh don't prompt for a password, because I have DSA encryption... (9 Replies)
Sometimes it works for me and sometimes I get this error:
syntax error on line 1, teletype
Basically I've got no idea whats going on, especially at the end of the command: bc
Any help is appreciated (1 Reply)
I'm not all that much of a newbie but I've not encountered this before. Happens both in Cygwin and in Mac OS X (Darwin):
cp -R /path/to/foo/.* /path/to/bar
(where directory 'bar' exists)
... seems to copy not only the contents of directory 'foo', but also other directories that are... (3 Replies)
Suppose I have a text file that contains the tags <foo> and <bar>. The text file can have unlimted occurances of <foo> and <bar> and looks somthing like this:
<foo>
Some
Text
<foo>
Some
Text
<bar>
Some
Text
<foo>
Some (1 Reply)
I'm very very new to shell scripting (about 4 hours)
i've google'd till i can't google no more
is it possible to have store values in a config file .e.g
/etc/foo.conf
data=/home/
mount=/dev/sda1
size=1GB
and access these values from a shell script but also
be able to use... (3 Replies)
Hallo,
I need to test a String (a special ip number-string).
So I want to run that:
ipadress=172.0.0.0
# for debugging:
echo $ipadress | egrep -e '172\.?\.??\.??$'
# the test that doesnt work
if test -z `echo $ipadress | egrep -e '172\.?\.??\.??$'` != ""
then
echo "match"
else... (1 Reply)
I need a way to grep -v a list of times/date from the output of postqueue -p that are a few hours old, in order to remove them with postsuper -d.
Right now I have a script that is deleting the previous day of messages left in the queue, which runs once each day.
I want to clean up the job and... (1 Reply)
if ; then
echo Its Cold for $sid at $c_dst
$jobroot/scripts/abc.sh $sid COLD $c_dst
elif ; then
echo Its Hot for $sid at $h_dst
$jobroot/scripts/abc.sh $sid HOT $h_dst
else
echo No backup for $sid today
wat does foo do ?? (2 Replies)