Trying to execute a script to populate all directories with index.html


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Trying to execute a script to populate all directories with index.html
# 1  
Old 04-03-2013
Trying to execute a script to populate all directories with index.html

Hello,

I am trying to create a php file that would copy given index.html file to all directories (and subdirectories) on my site that don't have one. This is to prevent directory listings on nginx. This index.html file is placed in the /populate directory and looks like this:

Code:
<html>
<head>
	<meta name="googlebot" content="noindex">
	<meta name="robots" content="noindex">
</head>
<body>
</body>
</html>

The file populate.php (shown below) is placed in the root of my site and once executed brings this error

Parse error: syntax error, unexpected T_STRING in /home/mysite/mysite.com/populate.php on line 7.

Here's the populate.php that I created thanks to another thread on this forum (please add http as I am not yet allowed to post links) ://www.unix.com/shell-programming-scripting/175275-copy-create-blank-index-html-file-folders-dont-have-one.html
Code:
<!DOCTYPE html>
<html>
<body>

	<?php
	
	find . -type d | while read d
	do
	    if [[ ! -f $d/index.html ]]
	    then
	        cp /populate/index.html $d/
	    fi
	done
	
	?>

</body>
</html>

Can you please advice, thanks!!
Tom
# 2  
Old 04-03-2013
PHP is not shell script. Shell script won't work in there.

You don't have to fill every directory to disable indexing. The autoindex off; directive in the relevant section of nginx's config file will prevent file lists from being generated.
# 3  
Old 04-03-2013
Quote:
Originally Posted by Corona688
PHP is not shell script. Shell script won't work in there.

You don't have to fill every directory to disable indexing. The autoindex off; directive in the relevant section of nginx's config file will prevent file lists from being generated.
I also need to prevent googlebot from indexing it. And I don't want to run it in shell. Sorry for the confusion, appearantly I posted it in the wrong forums.

---------- Post updated at 01:32 PM ---------- Previous update was at 01:28 PM ----------

I have Google Custom Search and with no index.html files it keeps showing some weird directories in the search results.
# 4  
Old 04-03-2013
I know you don't want shell script, but that's what you have. You planted shell script inside PHP and expected it to run, but naturally it didn't work since PHP is not shell.

I don't think it'd work even if you used the right language, since your web server quite probably doesn't have permissions to write to all those folders.

robots.txt is what is traditionally used to prevent robots from indexing something.
This User Gave Thanks to Corona688 For This Post:
# 5  
Old 04-03-2013
Quote:
Originally Posted by Corona688
I know you don't want shell script, but that's what you have. You planted shell script inside PHP and expected it to run, but naturally it didn't work since PHP is not shell.
So how can I run this script in shell? Thanks!
# 6  
Old 04-03-2013
Login to a shell prompt in your server.

Paste this into a file.

Code:
#!/bin/sh

find /path/to/folders -type d | while read d
	do
	    [ -f $d/index.html ] || cp /populate/index.html $d/
	done

Then chmod 755 file.sh

Then ./file.sh to run it once.
This User Gave Thanks to Corona688 For This Post:
# 7  
Old 04-03-2013
Many thanks! Couple more questions please. Can file.sh be placed in the root directory of my site (where the index.php is)? What should then be used instead of /path/to/folders? A dot (.)? Then I'd use cd command in shell to navigate to my site directory on the server and run file.sh

---------- Post updated at 02:28 PM ---------- Previous update was at 01:56 PM ----------

OK, I figured it all out. But there is one more problem. What if a directory does have an index.php? The script will still add index.html even though it's not needed. How would you modify you script to avoid it?
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Script to populate (2) values in .XML

Good Afternoon Team - I"m asking for assistance on a piece of code to populate two values in an XML file. I have it working perfectly using CScript for DOS, but I have a need to do that same process in a Linux environment. Here is the XML I need to modify: <?xml version="1.0"... (5 Replies)
Discussion started by: SIMMS7400
5 Replies

2. Shell Programming and Scripting

Attach multiple index.html file using mutt

Hi I want to attach multiple index.html, index_v2 file using mutt command basically i want first index.html and then index_v2.html file as a body in email , these html files are test reports I am using following command , but it is over writing , any help appreceated ;) mutt -e... (2 Replies)
Discussion started by: madankumar.t@hp
2 Replies

3. Shell Programming and Scripting

Shell script to populate an array from a csv file

Hi Guys, I've got a script that runs and collects statistics from one of our machines and outputs the data into a csv file. Now, that script runs fine and I managed to create another one (with a lot of help from this forum!!) to trim the csv file down to all the data that I need, rather than all... (9 Replies)
Discussion started by: jimbob01
9 Replies

4. UNIX and Linux Applications

execute shell script using CGI for html site

hi there im currently in the process of creating a website for use basically within our org. im using a os x machine and installed MAMP - which includes Apache, mysql... the site will be used by techs to primarily install pkgs files onto os x devices. i would like to have buttons or hyperlinks... (2 Replies)
Discussion started by: sheshe
2 Replies

5. Shell Programming and Scripting

Extract urls from index.html downloaded using wget

Hi, I need to basically get a list of all the tarballs located at uri I am currently doing a wget on urito get the index.html page Now this index page contains the list of uris that I want to use in my bash script. can someone please guide me ,. I am new to Linux and shell scripting. ... (5 Replies)
Discussion started by: mnanavati
5 Replies

6. Shell Programming and Scripting

Linux Script create index.html file

I need a script that can do this: A script that searches all directories and subdirectories for .html files When a .html file is found it creates a index.html file in that folder. It then edits the index.html file and inserts links to all of the .html files that are in that folder into the... (5 Replies)
Discussion started by: seashell11
5 Replies

7. Shell Programming and Scripting

How can I execute a shell script from an html link?

I want to execute a shell script when clicking on an html link. I want the output of the script to be shown on the webpage. Whats the best way to achieve this? (6 Replies)
Discussion started by: streetfighter2
6 Replies

8. Shell Programming and Scripting

Shell script to execute commands in individual users' home directories

Hi, I am trying to write a shell script which execute certain commands within certain folders in each user's home directories I started off with a bash script - #!/bin/csh -f su -l cvsusr1 cvs -d /home/cvsadm/repository status But the shell script finishes immediately after... (1 Reply)
Discussion started by: rupa_lahiri
1 Replies

9. Web Development

New SEO Experiment http://www.globalfactbook.com/index.html

Hi, I found out the CIA's worldfact book is has an open copyright, anyone can use it as long as we don't use the CIA shield. So, I set up an experimental SEO site to see what will happen in the search engines over time: The Global Factbook Please click above and let's see if we can... (1 Reply)
Discussion started by: Neo
1 Replies

10. UNIX for Advanced & Expert Users

which access right should set in my webpage index.html ?

I have a webpage, http://my.dns.com/~zp523/index.html, I want all people to have read and execute privileges. I want to extend it with execute privilege. Which command should be used in chmod? is it only give read(r) & execute(x) parameter in 'chmod ??? index.html' thk a lot!! (1 Reply)
Discussion started by: zp523444
1 Replies
Login or Register to Ask a Question