Good afternoon,
I have just messed up and deleted some directories on my UNIX machine.
I would now want to know which packages are impacted by this. Therefore I have a look in the file "/var/sadm/install/contents" (which contains the filenames/directory names for each installation package). After this, I add "ls " in front and "1>/dev/null" at the back, so I get following result:
Code:
$grep "<Package>" /var/sadm/install/contents | awk {'print "ls " $1 " 1>/dev/null"'}
...
ls /usr/3rdpty/ant/lib/ant.jar 1>/dev/null
ls /usr/3rdpty/ant/lib/xercesImpl.jar 1>/dev/null
ls /usr/3rdpty/ant/lib/xml-apis.jar 1>/dev/null
Now I would like to launch those "ls" commands. The idea is the following:
$ls <existing file> 1>/dev/null
$ls <non-existing file> 1>/dev/null
<non-existing file>: No such file or directory
=> I intend only to see which files/directories have been erased that belong to the package. When there are none, nothing needs to be done. When there are some, the package needs to be re-installed.
In order to do this, I need to launch the "ls ..." output.
I have already tried using a "| eval" behind it, but this does not work.
Does anybody have an idea?
Thanks
Dominique
Last edited by Scott; 04-24-2012 at 09:19 AM..
Reason: Code tags
Hello
I would like to perform a select from a oracle table and return those values to my shell script
For example:
site=head -1 $infile | cut -c1-15 | awk '{printf "s%", $0}
sqlplus -s /nolog |& #Open pipe to sql
select col1, col2, col3, col4
from oracle_table
where col5 =... (6 Replies)
ls -ltr | grep string
How can I use regular expressions to filter the results provided even more. I am using the above command as a reference. (1 Reply)
I'm using the command grep -l XYZ to get a list of files containing the string XYZ. Then I using the comand ls -l ABC to get the create date timestamp of the each file. I've tried combining the comands using the pipe command, grep -l XYZ | ls -l, but its not working. What am I doing wrong? (3 Replies)
Hello,
I'm using csh. I have a file named "setup" that I normally source, e.g.
source setupI'd like a one-liner that sources this file, but excluding lines that contain "DEBUG", e.g.
cat setup | grep -v DEBUG | sourceOf course, the above does not work. How can I execute the results of a... (5 Replies)
I have an overnight script which runs across a large directory to repair permissions and ownership. I also have this command output the list of files affected so that cron can email these as a log file. Previously I had the command in the form:
find /path/to/files -not -user myname -print -exec... (4 Replies)
Hi,
Need help with a sed command that I am using to substitute 3 positions of a pipe delimited file.
i am getting different results while substituting the same position of two different files with the same value. Please see details below:
$ cat chk2
... (3 Replies)
Hello ,
When using vim, can ctag and cscope support recording search results and displaying the history results ? Once I jump to one tag, I can use :tnext to jump to next tag, but how can I display the preview search result? (0 Replies)
I am using grep to match a pattern, but the output is strange.
$ grep -r -o "pattern" *
Gives me:
Binary file foo1 matches
Binary file foo2 matches
Binary file foo3 matches
To find the lines before/after, I then have to use the following on each file:
$ strings foo1 | grep -A1 -B1... (0 Replies)
Hi guys,
I need to know how i can ignore Pipe '|' if Pipe is coming as a column in Pipe delimited file
for eg:
file 1:
xx|yy|"xyz|zzz"|zzz|12...
using below awk command
awk 'BEGIN {FS=OFS="|" } print $3
i would get xyz
But i want as :
xyz|zzz to consider as whole column... (13 Replies)
Discussion started by: rohit_shinez
13 Replies
LEARN ABOUT LINUX
pure-uploadscript
pure-uploadscript(8) Pure-FTPd pure-uploadscript(8)NAME
pure-uploadscript - Automatically run an external program after a successful upload
SYNTAX
pure-uploadscript [-p </path/to/pidfile>] [-B] [-g <gid>] [-h] -r <program to run> [-u <uid>]
DESCRIPTION
If Pure-FTPd is compiled with --with-uploadscript (default in binary distributions), and if the -o (or --uploadscript) is passed to the
server, a named pipe called /var/run/pure-ftpd.upload.pipe is created. You will also notice an important file called
/var/run/pure-ftpd.upload.lock, used for locking.
After a successful upload, the file name is written to the pipe.
pure-uploadscript reads this pipe to automatically run any program or script to process the newly uploaded file.
OPTIONS -B Daemonize the process and fork it in background.
-g <gid>
Switch the group ID to <gid>.
-h or --help
Display available options.
-r <program to run>
Tell what program/script to run. It has to be an absolute filename, the PATH environment variable is ignored. The first argument of
that program will be the unquoted name of the newly uploaded file. Environment variables aren't cleared. So don't put sensitive
data in them before calling pure-uploadscript if you switch uid.
-u <uid>
Switch the user ID to <uid>.
ENVIRONMENT
When the upload script is run, the name of the newly uploaded file is the first argument passed to the script (referenced as $1 by most
shells) . Some environment variables are also filled by useful info about the file. UPLOAD_SIZE The size of the file, in bytes.
UPLOAD_PERMS The permissions, as an octal integer. UPLOAD_UID The numerical UID of the owner. UPLOAD_GID The numerical GID of the owner.
UPLOAD_USER The login of the owner. UPLOAD_GROUP The group name the files belongs to. UPLOAD_VUSER The full user name, or the virtual
user name (127 chars max) .
FILES
/var/run/pure-ftpd.upload.pipe /var/run/pure-ftpd.upload.lock /var/run/pure-uploadscript.pid
SECURITY
pure-ftpd and pure-uploadscript are trying to limit security implications of such a feature.
- The pipe can only be created and opened by root. It must have perms 600, with uid 0, or it will be ignored.
- The argument passed to an external program/script is always an exact absolute path name. It doesn't get fooled by chroot()ed environ-
ments, and by absolute or relative paths added to the STOR command.
- UID and GID are set just after parsing command-line options, and pure-uploadscript never gets back supervisor privileges.
- Descriptors to the pipe are never passed to external programs/scripts. So when UID switched, the target user can't mess the pipe.
- Only regular files are processed, control characters are rejected, and a header+footer avoid partial file names.
- Two external programs/scripts can't run at the same time. Uploads are always processed sequentially, in chronological order. This is to
avoid denial-of-services by issuing a lot of simultaneous STOR commands in order to launch a fork bomb on the server. For this reason, your
programs shouldn't take a long time to complete (but they can run themselves in background) .
EXAMPLES
A sample script could be :
#! /bin/sh
echo "$1 uploaded" | /usr/bin/mutt -s "New upload : $1" ftpadmin@dom.ai.n
Never forget to quote ("variable") all variables in all your shell scripts to avoid security flaws.
AUTHORS
Frank DENIS <j at pureftpd dot org>
SEE ALSO ftp(1), pure-ftpd(8)pure-ftpwho(8)pure-mrtginfo(8)pure-uploadscript(8)pure-statsdecode(8)pure-pw(8)pure-quotacheck(8)pure-authd(8)
RFC 959, RFC 2228, RFC 2389 and RFC 2428.
Pure-FTPd team 1.0.36 pure-uploadscript(8)