01-22-2009
I think you should as a first step enumerate all of the candidate files, sort the output into files based on file ownership like: tmp.ownername, tmp.ownername2, etc. You have to do this at some point, so do it all up front. If it is hundreds of thousands of files then "thread it" - in the sense of assign one process to one sub-directory. When all the child processes are done, then do the big sort/split.
Next, write a dynamic (one call per tmp.ownername) wrapper script that invokes the cleanup, move, etc., as a separate script with the tmp.ownername file as input. This invocation is the point at which you sudo or su, to the user as specifed by the tmp.ownername. Invoke one instance of the cleanup script per tmp.* file from the wrapper script. Again, if it is large numbers of files consider executing several cleanup scripts in the background at one shot. Only you can see the impact on other unrelated processes from all the I/O you generate doing this stuff.
I noticed cp mentioned and mv mentioned. mv is more efficient for moving files among directories within a filesystem.
Last edited by jim mcnamara; 01-22-2009 at 12:02 PM..
7 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
not too long ago, i wrote a very short script that will bring up 4 customized xterms. The script went completely abnormal simply because of an error I had made in a while loop. This script took control of the system and rendered everything useless. The system admin team which i was part of... (4 Replies)
Discussion started by: TRUEST
4 Replies
2. UNIX for Advanced & Expert Users
We are trying to tune a server which phsycially is maxed out on cpu.
We are maxing out on memory and swapping at a rate of 20-43% of our swap space which is approx 45% of total ram.
We "can" upgrade to twice the memory that we currently have but it will be costly as there are no more seats... (5 Replies)
Discussion started by: MizzGail
5 Replies
3. Shell Programming and Scripting
Hi
I'm thinking of using the following command to download some music from websites I visit (designated in the mp3blogs.txt file):
wget -r -l1 -H -t1 -nd -N -np -A.mp3 -erobots=off -i ~/mp3blogs.txt -P ~/Music/WGet
My only question is, is there ANY way to either download files that have... (0 Replies)
Discussion started by: gMan2020
0 Replies
4. Windows & DOS: Issues & Discussions
Hi,
I was required to do a backup of a virtual machine that runs on vmware. The guest operating system is windows, and the host is windows too. I have to backup the whole directory of the virtual machine (say in linux it'll be in /var/lib/vmware/virtual machines/) to a linux server.
Initially... (0 Replies)
Discussion started by: 60doses
0 Replies
5. Shell Programming and Scripting
Hi All.
I am stuck and need some fresh ideas...
I am writing a script that checks to see if an Oracle db is available. The script reads an ini file to determine if there is a blackout period for certain db's... ie: we don't care if it's up or down 1700 - 700 the next morning.
The ini file... (3 Replies)
Discussion started by: jamie_collins
3 Replies
6. Shell Programming and Scripting
Hi All,
This is for WPAR monitoring shell script, earlier opened thread was closed, had to open a new thread, as suggested I have used script as below, But am trying to get the output in below format, need suggestions with it. Below is the lswpar output, required output format.
... (7 Replies)
Discussion started by: aix_admin_007
7 Replies
7. Shell Programming and Scripting
Heyas
If you recall, not too long ago, i was asking about the GNU Autotools. The feedback on that was almost unisense, and me figured that it turned my (back then) +98% SHELL project into a +73% GROFF project... :(
Felt a bit overhelmed, specialy since i didnt actualy use or need the true... (0 Replies)
Discussion started by: sea
0 Replies
LEARN ABOUT FREEBSD
atf-sh
ATF-SH(1) BSD General Commands Manual ATF-SH(1)
NAME
atf-sh [-s shell] -- interpreter for shell-based test programs
SYNOPSIS
atf-sh script
DESCRIPTION
atf-sh is an interpreter that runs the test program given in script after loading the atf-sh(3) library.
atf-sh is not a real interpreter though: it is just a wrapper around the system-wide shell defined by ATF_SHELL. atf-sh executes the inter-
preter, loads the atf-sh(3) library and then runs the script. You must consider atf-sh to be a POSIX shell by default and thus should not
use any non-standard extensions.
The following options are available:
-s shell Specifies the shell to use instead of the value provided by ATF_SHELL.
ENVIRONMENT
ATF_LIBEXECDIR Overrides the builtin directory where atf-sh is located. Should not be overridden other than for testing purposes.
ATF_PKGDATADIR Overrides the builtin directory where libatf-sh.subr is located. Should not be overridden other than for testing purposes.
ATF_SHELL Path to the system shell to be used in the generated scripts. Scripts must not rely on this variable being set to select a
specific interpreter.
EXAMPLES
Scripts using atf-sh(3) should start with:
#! /usr/bin/env atf-sh
Alternatively, if you want to explicitly choose a shell interpreter, you cannot rely on env(1) to find atf-sh. Instead, you have to hardcode
the path to atf-sh in the script and then use the -s option afterwards as a single parameter:
#! /path/to/bin/atf-sh -s/bin/bash
ENVIRONMENT
ATF_SHELL Path to the system shell to be used in the generated scripts.
SEE ALSO
atf-sh(3)
BSD
September 27, 2014 BSD