Sponsored Content
Top Forums Shell Programming and Scripting check if multiple directories exist else create missing directories Post 302345272 by ramky79 on Tuesday 18th of August 2009 07:17:36 PM
Old 08-18-2009
check if multiple directories exist else create missing directories

Hi ,
I 'm trying to check if multiple directories exist on a server, if not create the missing ones and print " creating missing directory.
how to write this in a simple script, I have made my code complex


Code:
if [ -d "${schemaExtractDir}/SchemaExtract" ]; then
 taskStatus="Schema extract directory exists, checking if SQL,Count and SchExtArchive directories exist."
 print -r "$taskStatus"
 if [ -d "${schemaExtractDir}/SQL" ]; then
  taskStatus="${schemaExtractDir}/SQL directory exists, checking if Count and SchExtArchive directories exists."
  print -r "$taskStatus"
  if [ -d "${schemaExtractDir}/Count" ]; then
   taskStatus="${schemaExtractDir}/Count directory exists, checking if SchExtArchive directory exists."
   print -r "$taskStatus"
   if [ -d "${schemaExtractDir}/SchExtArchive" ]; then
    taskStatus="${schemaExtractDir}/SchExtArchive directory exists."
    print -r "$taskStatus"
   else
    taskStatus="${schemaExtractDir}/SchExtArchive directory does not exist, creating ${schemaExtractDir}/SchExtArchive directory"
    print -r "$taskStatus"
    mkdir -p ${schemaExtractDir}/SchExtArchive 2>/dev/null
   fi
  else
   taskStatus="${schemaExtractDir}/Count directory does not exist, creating ${schemaExtractDir}/Count directory"
   print -r "$taskStatus"
   mkdir -p ${schemaExtractDir}/Count 2>/dev/null
  fi
 else
  taskStatus="${schemaExtractDir}/SQL directory does not exist, creating ${schemaExtractDir}/SQL directory."
  print -r "$taskStatus"
  mkdir -p ${schemaExtractDir}/SQL 2>/dev/null
   taskStatus="Checking if ${schemaExtractDir}/NPICount directory exists."
   print -r "$taskStatus"
    if [ -d "${schemaExtractDir}/Count" ]; then
       taskStatus="${schemaExtractDir}/Count directory exists."
       print "$taskStatus"
    else
       taskStatus="${schemaExtractDir}/Count directory does not exist, creating ${schemaExtractDir}/Count directory"
       print "$taskStatus"
       mkdir -p ${schemaExtractDir}/Count 2>/dev/null
    fi
 fi
else
 taskStatus="Schema extract directory does not exist, creating schema extract,SQL,Count and SchExtArchive directories."
 print -r "${taskStatus}"
 mkdir -p ${schemaExtractDir} 2>/dev/null
 mkdir -p ${schemaExtractDir}/SchemaExtract 2>/dev/null
 mkdir -p ${schemaExtractDir}/SQL 2>/dev/null
 mkdir -p ${schemaExtractDir}/Count 2>/dev/null 
 mkdir -p ${schemaExtractDir}/SchExtArchive 2>/dev/null
fi
chmod 755 ${schemaExtractDir}/SchemaExtract
chmod 755 ${schemaExtractDir}/SQL
chmod 755 ${schemaExtractDir}/Count
chmod 755 ${schemaExtractDir}/SchExtArchive


I want to acheive the above in few steps... not this many if else loops...
how to do it?

thanks
ram

Last edited by Franklin52; 08-19-2009 at 04:09 PM.. Reason: adding code tags
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Create Folder in Multiple Directories

Hi, I am trying to figure out how to have a folder created in multiple directories. For example /home is where we have over 1500 staff members directories, the staff members name is the name of directory under /home. I need to have a folder called "Desktop" created in every staff members directory.... (15 Replies)
Discussion started by: Stud33
15 Replies

2. Shell Programming and Scripting

moving directories to new directories on multiple servers

Hi - I am new to unix scripts...I need to move several directories on multiple servers to new directories. (0 Replies)
Discussion started by: mackdaddy07
0 Replies

3. Shell Programming and Scripting

Replace missing standard folders from home directories.

Hi, I want to develop a script to replace missing folders from home directories. These may have been deleted by the user. A standard home directory will have these folders in it and nothing else: Desktop, Documents, Downloads, Library, Movies, Music, Pictures, Public, Sites I also want to... (3 Replies)
Discussion started by: z399y
3 Replies

4. Shell Programming and Scripting

how to check existance of multiple directories

Hi, I would like to check whether all the directories exists or not. I tried the below but it gives some error. below is the excerpt from my original script 24 #Check if the required directories are exists 25 dirExists() { 26 27 if 28 then 29 echo "required... (1 Reply)
Discussion started by: lookinginfo
1 Replies

5. UNIX for Dummies Questions & Answers

Deleting multiple directories inside multiple directories

Hi, Very unfamiliar with unix/linux stuff. Our admin is on vacation so, need help very quickly. I have directories (eg 40001, 40002, etc) that each have one subdirectory (01). Each subdir 01 has multiple subdirs (001, 002, 003, etc). They are same in each dir. I need to keep the top and... (7 Replies)
Discussion started by: kkouraus1
7 Replies

6. UNIX for Dummies Questions & Answers

Create multiple directories with awk

Hello all. Newbie here. In a directory, I have 50 files and one additional file that is a list of the names of the 50 files. I would like to create a directory for each of the 50 files, and I need the 50 directory names to correspond to the 50 file names. I know this can be done by running... (6 Replies)
Discussion started by: Zeckendorff
6 Replies

7. UNIX for Dummies Questions & Answers

Checking if multiple directories exist

I need to create multiple directories if those directories do not exist already. How would you go by doing this. What I have so far. array=(one two three) for I in ${array} do if ] then mkdir ${I} fi doneI have a good feeling this is done incorrectly. The error I am... (2 Replies)
Discussion started by: jrymer
2 Replies

8. Shell Programming and Scripting

Single script to create multiple directories

Hi , I want a script to create a directories at different locations. suppose i am on home/path/zone1. I want to create a directory of current month in this location. Then i want to create the same current month directory in home/path/zone2.like this for 9 diffrent zones. I can do this... (4 Replies)
Discussion started by: sv0081493
4 Replies

9. Shell Programming and Scripting

Help with create multiple directories under diff file systems

Hi, Need help ...I want to create multiple directories in different /file systems using for loop..eg.../ORCL_data01/oradata/orcl/ctl. ../ORCL_data01/oradata/orcl/data. ../ORCL_data01/oradata/orcl/redo. Script :- ========= for dir in `ls -d... (8 Replies)
Discussion started by: Linux6.5
8 Replies

10. Shell Programming and Scripting

Shell script to check current date file is created and with >0 kb or not for multiple directories

Hi All, I am new in scripting and working in a project where we have RSyslog servers over CentOS v7 and more than 200 network devices are sending logs to each RSyslog servers. For each network devices individual folders create on the name of the each network devices IP addresses.The main... (7 Replies)
Discussion started by: Pinaki
7 Replies
RFMKDIR(1)							Rfio User Commands							RFMKDIR(1)

NAME
rfmkdir - make remote directories SYNOPSIS
rfmkdir [ -m mode ] [ -p ] directory... DESCRIPTION
rfmkdir provides an interface to the shift remote file I/O daemon (rfiod) for creating remote directories in mode 777 (possibly altered by umask(1)). The directory argument is either a remote directory name of the form: hostname:path or a local directory name (not containing the :/ character combination). Creation of a directory requires write permission in the parent directory. OPTIONS
The following options apply to rfmkdir: -m mode This option allows users to specify the mode to be used for the new directories. Choices for modes can be found in chmod(1). -p With this option, rfmkdir creates dirname by creating all the non-existing parent directories first. SEE ALSO
mkdir(1), umask(1), mkdir(2), rfiod(1) AUTHOR
LCG Grid Deployment Team LCG
$Date: 2005/03/31 13:13:04 $ RFMKDIR(1)
All times are GMT -4. The time now is 02:26 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy