Sponsored Content
Top Forums Shell Programming and Scripting Batch write multiple usb in same time Post 302574717 by felipe.vinturin on Friday 18th of November 2011 06:29:35 AM
Old 11-18-2011
I think there is something wrong with your script!
If you are mounting your device to: /media/usb, why you are creating the directories like this: "mkdir /media/$numbers", it should be: "mkdir /media/usb/$numbers". Also, if I understood what you want, why you are formatting your usb every loop?

Try this:
Code:
checkRetCode ()
{
	lstRetCode=${?}
	lineNo="${1}"
	
	if [ ${lstRetCode} -ne 0 ]
	then
		echo "Last command returned and invalid code: [${lstRetCode}]. Line number: [${lineNo}]."
		exit 1
	fi
}

processUsbDev ()
{
	usbDevName="${1}"
	baseMountPoint="${2}"
	numDirs="${3:-999}"
	numRetries="${4:-3}"

	usbDev="/dev/${usbDevName}"

	echo "Formatting usb disk: [${usbDev}]"
	mkfs.vfat -F32 "${usbDev}"
	checkRetCode "${LINENO}"

	mountPoint="${baseMountPoint}/${usbDevName}"
	if [ ! -d "${mountPoint}" ]
	then
		mkdir "${mountPoint}"
		checkRetCode "${LINENO}"
	fi
	
	echo "Mounting disk: [${usbDev}] under: [${mountPoint}]"
	mount ${usbDev} ${mountPoint}
	checkRetCode "${LINENO}"
	
	countDirs=1
	echo "Creating directories under: [${mountPoint}] - [${countDirs}][${numDirs}]..."
	
	while [ ${countDirs} -le ${numDirs} ] 
	do
		countDirStr=`echo "${countDirs}" | awk '{printf("%03d\n", $0)}'`
		createDir="${mountPoint}/${countDirStr}"
		
		countRetries=0
		while true
		do
			mkdir "${createDir}"
			retCode=${?}
			if [ ${retCode} -ne 0 ]
			then
				if [ ${countRetries} -ge ${countRetries} ]
				then
					echo "Failed to create directory: [${createDir}]!"
					break
				fi
			else
				break
			fi
			countRetries=`expr ${countRetries} + 1`
		done
		
		countDirs=`expr ${countDirs} + 1`
	done
	
	umount ${usbDev}
	checkRetCode "${LINENO}"
}

echo "Press any key to start!"
read

processUsbDev "sdc1" "/media/usb" "999" "3"

I was unable to test it, but should work!

Last edited by felipe.vinturin; 11-18-2011 at 08:04 AM..
This User Gave Thanks to felipe.vinturin For This Post:
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to write a Script to run series of batch jobs on unix platform

Im new to unix shell scripting, I have to run batch jobs on unix. for example i have 5 jobs. first 2 can kickoff parallely. after completely finishing the 2 previous jobs the 3 job should kick off..once 3rd is over 4 th and 5th can kick off parallely. Each jobs run for 1 or 2 hours each. How to... (2 Replies)
Discussion started by: venki311
2 Replies

2. Red Hat

formating a USB which is throwing error write delayed

Hello, while i was saving a web file directing on to usb location there was some network problem which result in error WRITE DELAYED on windows xp. so pen drive is not getting completely formated(show as Windows was unable to complete format).From then onwords it is not allowing to copy... (0 Replies)
Discussion started by: amarnathbasis8
0 Replies

3. UNIX for Advanced & Expert Users

Multiple processes write to log file at the same time

If we have 3 process to write to same log file at the same time like below. will it cause the data outdated because the multiple process writing same time? It this a safe way to keep the log for multiple process? p1 >> test.log &; p2 >> test.log &; p3 >> test.log & Thanks, (1 Reply)
Discussion started by: casttree
1 Replies

4. Shell Programming and Scripting

Multiple process write to same log file at the same time

If we have 3 process to write to same log file at the same time like below. will it cause the data outdated because the multiple process writing same time? It this a safe way to keep the log for multiple process? p1 >> test.log &; p2 >> test.log &; p3 >> test.log & Thanks, (5 Replies)
Discussion started by: casttree
5 Replies

5. Debian

Write permission for USB device

Hello, I need to run an application in wine that requires write permission to a USB device. Wine users must not have root privileges. On FreeBSD this could be accomplished by adding the user to the wheel group but I am using Debian 6.0. From looking at the passwd file it is not obvious what... (6 Replies)
Discussion started by: snorkack59
6 Replies

6. Shell Programming and Scripting

Xentop Batch Time Display Help

I would like to be able to display the local time (or anytime for that matter) when I run Xentop in batch mode. Is that possible? (In other words, when I look back at the data, I want to be able to tell what time that the output was displayed). (2 Replies)
Discussion started by: Coyote2012
2 Replies

7. AIX

How to write a script to run without password on a batch of servers?

I need run a command such as ps -ef |grep xxx on a batch of servers, how to write a script to run it without password? don't need go in each server to check? Thanks (7 Replies)
Discussion started by: rainbow_bean
7 Replies

8. Shell Programming and Scripting

How to write BTEQ batch scripts in UNIX?

Hi All, I need to write Unix shell script. To star with : I need to do some file checking on unix file system, then based on file existance, I need to run diff SQL in Teradata Bteq. After that, depending on Results of SQL, I need to code other shell scripting like moving file, within same... (4 Replies)
Discussion started by: Shilpi Gupta
4 Replies

9. Shell Programming and Scripting

Is it possible to write write multiple cronjobs in shellscript??

Hi All, I need the answer of below question? 1) How to write multiple cronjobs in shellscript? Is there any way or we cant write in shellscript... Regards, Priyanka (2 Replies)
Discussion started by: pspriyanka
2 Replies
fd(4)							     Kernel Interfaces Manual							     fd(4)

NAME
fd - file descriptor files DESCRIPTION
The /dev/fd file system is a pseudo-file system layered beneath the Virtual File System (VFS). The file descriptor files (fd*) are those files that are accessible through file descriptors. The file descriptors use the naming convention /dev/fd/0, /dev/fd/1, /dev/fd/2 and so on up to any number. To make the /dev/fd file system known to the operating system, you must create the directory with the correct privileges, then you must mount the file system. The following steps describe how to create the directory, mount the file system both manually and automatically, and how to dismount the file system: Create the directory using the mkdir and chmod commands: mkdir /dev/fd; chmod 777 /dev/fd Mount the file system manually using the mount command: mount -t fdfs /dev/fd /dev/fd Mount the file system automatically by editing either the /etc/fstab file or the /sbin/bcheckrc file. Add the following entry to the /etc/fstab file: /dev/fd /dev/fd fdfs rw 0 0 This entry mounts the pseudodevice /dev/fd on the /dev/fd directory with read/write privileges. The file system type is fdfs and the zeros (0) in the remaining fields specify that the file system is not to be backed up nor can file system checks be performed by the fsck command as this is a virtual file system. Add the following entry to the /sbin/bcheckrc file: # # mount fdfs # echo 'Mounting /dev/fd filesystem' /sbin/mount -a -v -t fdfs Again, the /dev/fd file system should not be mounted in this manner if an entire system is to be backed up starting from the root directory. Dismount the file system using the umount command: umount /dev/fd For correct truncate() behavior on fd files, you must load your program using the -lsys5 flag. RESTRICTIONS
The /dev/fd file descriptors should not be exported. EXAMPLES
The following example show how the open and dup functions have the same effect if file descriptor n is opened: fd = open("/dev/fd/n", mode); fd = dup(n); In the above example, the open function is equal to the creat function and mode is ignored. Using the dup function, subsequent reads or writes on the fd file descriptor files fail unless the original file descriptor enables the operation. ERRORS
The following error condition exists: The file descriptor is not valid. RELATED INFORMATION
Commands: chmod(1), mkdir(1), mount(8). Functions: creat(2), dup(2), open(2). delim off fd(4)
All times are GMT -4. The time now is 03:13 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy