Sponsored Content
Top Forums UNIX for Advanced & Expert Users The best way to skin a cat OR how do I get file system info on the most basic level? Post 302278925 by mph on Wednesday 21st of January 2009 01:39:35 PM
Old 01-21-2009
The best way to skin a cat OR how do I get file system info on the most basic level?

Hi,

We have an FTP server (vsftpd) running on Linux, that I've kinda built a "Data Management" system around. I could use some ideas as to the best way to handle/create "triggers" for file notifications.

Internal users drag 'n drop files from their Windows boxes to the server via Samba mounts. FTP users transfer files via FTP (go figure). Programs run every five minutes to check for new files. Internal files are checked by first checking the filesystem size for changes, if so, then using the find command on the FTP directory and comparing it to the previous run. On the FTP side the program checks the log file for newly transferred files.
From the difference between the two it generates an email to the proper internal & external people telling them that there are files and what the names are. Also CCing FTPadmin group, then updates a database with all the info.

Ok now that you know how the files are transferred. My questions are as follows;

1) Internal Transfers. Is there a better way to find new files than using the find and comparing the differences? We've hit the 400 user mark and at peek times running find and parsing the output can be a bit slow.

2) FTP Transfers. What's the best way to determine when an FTP transaction is complete. Keep in mind that I'll have to track multiple connections starting and ending at different times.

As to question #2, I've written a simple packet sniffer in C which does nothing more than let me know when an FTP connection has been established and from what IP, then lets me know when that connection has terminated so another program can generate notifications. The problem with this is; FTP users are using arbitrary "Keep Alives" making it virtually impossible to determine inactivity to be able to disconnect the user. To add to the complexity, the FTP server is using SSL encryption so dumping the packets to determine their contents and file progress is useless. Also, I could have vsftpd log ALL FTP events to the log file but the increase would more than triple the log file size again slowing things down to a crawl.

Thank You in Advance
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

basic server info

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

Does anyone have example code for getting File System info on AIX

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

basic cat replace string

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

got a basic doubt on cat-file permissions

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

Have a basic 'for i in cat list' - Trying to get i to be set to a name with a space

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

basic Server info on Mac os x

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

Basic System Info Template

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

Best reference for understanding low level info on nic cards drivers and functionality

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

New to programming, need some basic info.

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

Basic question regarding root file system copy to another disk

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
ftpconfig(1M)						  System Administration Commands					     ftpconfig(1M)

NAME
ftpconfig - set up anonymous FTP SYNOPSIS
ftpconfig [ftpdir] ftpconfig -d ftpdir DESCRIPTION
The ftpconfig script is executed by the super user to set up anonymous FTP. Anonymous FTP allows users to remotely log on to the FTP server by specifying the user name ftp or anonymous and the user's email address as password. The anonymous users are logged on to the FTP Server and given access to a restricted file area with its own file system root. See chroot(2). The FTP area has its own minimal system files. This command will copy and set up all the components needed to operate an anonymous FTP server, including creating the ftp user account, creating device nodes, copying /usr/lib files, and copying timezone data. The passwd and group files set up have been stripped down to prevent malicious users from finding login names on the server. The anonymous file area will be placed under ftpdir. If the ftp user account already exists, then the current FTP area is used, and the system files in it are updated. All other files are left untouched. This command should be run to update the anonymous FTP area's configuration whenever a system patch is installed, or the system is upgraded. OPTIONS
-d Create a new or update an existing ftpdir without creating or updating the ftp user account. Use this option when creating guest FTP user accounts. OPERANDS
The following operands are supported: ftpdir The absolute pathname of the directory under which the anonymous FTP area is set up. EXIT STATUS
The following exit values are returned: 0 Successful completion 1 Improper usage of the command 2 Command failed ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWftpu | +-----------------------------+-----------------------------+ |Interface Stability |Evolving | +-----------------------------+-----------------------------+ SEE ALSO
ftpaddhost(1M), in.ftpd(1M), useradd(1M), chroot(2), attributes(5) SunOS 5.11 1 May 2003 ftpconfig(1M)
All times are GMT -4. The time now is 09:13 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy