01-21-2009
1) Each time you process the directory, touch a flag file. Then use find /pathname -newer /path/to/flagfile. Doesn't really save you the overhead of running find but saves you having to do comparisons.
2) Does vsftpd keep the file open for the entire duration of the transfer? If so you could use fuser on the file until it shows no processes accessing it, and then assume that the upload is complete. Normally the best way is to upload files to a temporary name and then rename them when complete, but that requires end-user actions which probably aren't appropriate in your situation.
I'm kind of surprised though that vsftpd doesn't log an upload complete event, even at a not very verbose level?
Incidentally, if you are prepared to consider a commercial product, Tumbleweed's SecureTransport is a good product for doing most of what you describe... i.e. triggered actions based on incoming files, etc.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I'm so new to sys admin work that my ears haven't dried yet.
Here's my question:
what scripts are available to gather pkginfo, prtdiag, and volume info?
I need to gather this type of info from 18 servers of various types:
oracle db servers, license servers, nis masters and slaves, etc.... (2 Replies)
Discussion started by: antalexi
2 Replies
2. Programming
I'm looking for example C source of how to get file system information on AIX systems. Does anyone have anything? (3 Replies)
Discussion started by: StuBob
3 Replies
3. Shell Programming and Scripting
trying to exclude hostnames ending in "s" from a host file:
# cat hosts
ssef
ssefd
ssefsfff
ssefsfs
# for x in `cat hosts`; do echo "${x/*s}" ;done
ef
efd
fff
#
How can I echo/or not echo only 'ssefsfs' ??
thanks (4 Replies)
Discussion started by: prkfriryce
4 Replies
4. UNIX for Dummies Questions & Answers
Hi all,
Today I was just fooling around with directories and faced this. I create a directory 'testdir' and create a file 'myfile' inside it.
gandalf@gondor:~$ mkdir testdir
gandalf@gondor:~$ cd testdir
gandalf@gondor:~/testdir$ touch myfile
Then I set the following permissions for the... (7 Replies)
Discussion started by: ranj@chn
7 Replies
5. Shell Programming and Scripting
Hi
Have a file called ldap.list:
******
"o=unix forum"
o=groups
******
i wrote a basic script that runs:
for i in `cat ldap.list`
do
ldapsearch -h host -p 389 -b $i
THE PROBLEM: - It looks like when the for i in cat ldap.list runs, it doesn't seem to care about the " ", it... (2 Replies)
Discussion started by: littlefrog
2 Replies
6. UNIX for Dummies Questions & Answers
Hi
how do i look at the basic server info through terminal on mac. I have the username and password for a web server and i am assigned to add a new url to the web server, but i have no idea where to start. how do i check what kind of server it is? how do i get the DNS information? most... (0 Replies)
Discussion started by: mj330
0 Replies
7. UNIX for Dummies Questions & Answers
If your boss ask you to create a template for all UNIX systems. Max 10 questions of the system. What would you put down?
The system can be any UNIX flavor.
Some examples:
1. system name
2. OS
3. ETC
What would be for you the most important and relevants. (2 Replies)
Discussion started by: 300zxmuro
2 Replies
8. IP Networking
Hi,
What is the best reference that gives in detail on nic cards configuration , assigning multiple ip addresses to a single interface, netlink library etc and all basic stuff at this level..?
Thanks (2 Replies)
Discussion started by: Gopi Krishna P
2 Replies
9. Programming
So, I'm actually new to programming, and thought some basics would be really benefiting to me, I'm not really asking to be spoon-fed with everything you know, I just need some info to show where should i start, I can figure the rest by myself, but really am in doubt about which programming language... (3 Replies)
Discussion started by: MEdgeworth
3 Replies
10. Solaris
Hello,
I am creating a new disk using the following command:
dd if=/dev/zero of=/export/home/ramdisk/0 bs=512 count=4096k
after creating the disk, i tool a ufsdump of a solaris 10 filesytem (disk size 512MB)
ufsdump -cvf /export/home/ufsdump/sol_orig /and then restored the dump files onto... (10 Replies)
Discussion started by: Zam_1234
10 Replies
LEARN ABOUT LINUX
git-fetch-pack
GIT-FETCH-PACK(1) Git Manual GIT-FETCH-PACK(1)
NAME
git-fetch-pack - Receive missing objects from another repository
SYNOPSIS
git fetch-pack [--all] [--quiet|-q] [--keep|-k] [--thin] [--include-tag]
[--upload-pack=<git-upload-pack>]
[--depth=<n>] [--no-progress]
[-v] <repository> [<refs>...]
DESCRIPTION
Usually you would want to use git fetch, which is a higher level wrapper of this command, instead.
Invokes git-upload-pack on a possibly remote repository and asks it to send objects missing from this repository, to update the named
heads. The list of commits available locally is found out by scanning the local refs/ hierarchy and sent to git-upload-pack running on the
other end.
This command degenerates to download everything to complete the asked refs from the remote side when the local side does not have a common
ancestor commit.
OPTIONS
--all
Fetch all remote refs.
--stdin
Take the list of refs from stdin, one per line. If there are refs specified on the command line in addition to this option, then the
refs from stdin are processed after those on the command line.
If --stateless-rpc is specified together with this option then the list of refs must be in packet format (pkt-line). Each ref must be
in a separate packet, and the list must end with a flush packet.
-q, --quiet
Pass -q flag to git unpack-objects; this makes the cloning process less verbose.
-k, --keep
Do not invoke git unpack-objects on received data, but create a single packfile out of it instead, and store it in the object database.
If provided twice then the pack is locked against repacking.
--thin
Fetch a "thin" pack, which records objects in deltified form based on objects not included in the pack to reduce network traffic.
--include-tag
If the remote side supports it, annotated tags objects will be downloaded on the same connection as the other objects if the object the
tag references is downloaded. The caller must otherwise determine the tags this option made available.
--upload-pack=<git-upload-pack>
Use this to specify the path to git-upload-pack on the remote side, if is not found on your $PATH. Installations of sshd ignores the
user's environment setup scripts for login shells (e.g. .bash_profile) and your privately installed git may not be found on the system
default $PATH. Another workaround suggested is to set up your $PATH in ".bashrc", but this flag is for people who do not want to pay
the overhead for non-interactive shells by having a lean .bashrc file (they set most of the things up in .bash_profile).
--exec=<git-upload-pack>
Same as --upload-pack=<git-upload-pack>.
--depth=<n>
Limit fetching to ancestor-chains not longer than n. git-upload-pack treats the special depth 2147483647 as infinite even if there is
an ancestor-chain that long.
--no-progress
Do not show the progress.
--check-self-contained-and-connected
Output "connectivity-ok" if the received pack is self-contained and connected.
-v
Run verbosely.
<repository>
The URL to the remote repository.
<refs>...
The remote heads to update from. This is relative to $GIT_DIR (e.g. "HEAD", "refs/heads/master"). When unspecified, update from all
heads the remote side has.
SEE ALSO
git-fetch(1)
GIT
Part of the git(1) suite
Git 1.8.5.3 01/14/2014 GIT-FETCH-PACK(1)