Sponsored Content
Full Discussion: Generating MD5's of files
Top Forums Shell Programming and Scripting Generating MD5's of files Post 302465604 by GrdLock on Friday 22nd of October 2010 09:48:40 PM
Old 10-22-2010
[SOLVED] Generating MD5's of files

On my website I host a lot of files, and when people view the site, currently each time the page loads, I have PHP generating the md5 sums for the files right then and there. It was fine when my site was small, but now that's obviously very inefficient. Now I'd like to start generating MD5 sums when a user uploads a file, and storing it in a text file along with other information to be read from there instead.

I know how to incorporate this into my PHP script, however I still have the problem of the hundreds of files that have already been uploaded, that won't have MD5 information stored in their .desc file.

Here's my site's structure:

files/HTC Eris/Rom maker/rom.zip
files/HTC Eris/Rom maker/rom.zip.desc
files/HTC Eris/Rom maker/rom.zip.dlcnt
files/HTC Incredible/Rom maker2/rom2.zip
files/HTC Incredible/Rom maker2/rom2.zip.desc
files/HTC Incredible/Rom maker2/rom2.zip.dlcnt

...and so forth.

The .desc file already stores certain information such as username, IP, and a file description. I want to append the md5 information to the end of the .desc file. The .dlcnt file is irrelevant, it stores amount of times downloaded.

So basically I'm trying to write a bash script to do this. Trouble is... I know squat about bash scripting! Smilie

All I've been able to come up with so far is this:

Code:
#!/bin/bash

find -name *.zip >> files.lst
find -name *.apk >> files.lst
find -name *.exe >> files.lst
find -name *.png >> files.lst
find -name *.tar.gz >> files.lst
find -name *.img >> files.lst
find -name *.xml >> files.lst

for i in $( cat files.lst );
do
		md5sum $i >> $i.desc;
done

I'm sure this is a really horribly inefficient way to do this, but it's all I know.

First problem is that a lot of the directories and files have spaces in them. That screws up the script right there. I don't know how to change the names to have a \ in them.

Second problem is I'm not exactly sure how to output the md5sum to the .desc file. Obviously what I have written up there doesn't work, it's not proper use of the variable... but I'm not sure what to do?

Can anyone give me a hand? Smilie

Last edited by GrdLock; 10-23-2010 at 12:28 AM.. Reason: Solved
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Generating files of specific size

I've been working on getting a script to take size, dir name and file name variables from an input file and creating the same dir structure along with the file of specific size. An example of the input file: size/dirname/filename 2100/JAN_06/12345ABC.TCC 2354/FEB_06/24564XYZ.NOS... (2 Replies)
Discussion started by: nxd25
2 Replies

2. Shell Programming and Scripting

Generating files.

I/P file name:- 20092008.txt Check number of entries in i/p file by following command ChkEnt -infl 20092008.txt -opfl 20092008_test.txt >count.txt Dear Friends, Please help me in automating following thing. If output generated (count.txt) is having value more than 1000 i.e.... (8 Replies)
Discussion started by: anushree.a
8 Replies

3. Shell Programming and Scripting

Generating formatted reports from log files

Given that I have a log file of the format: DATE ID LOG_LEVEL | EVENT 2009-07-23T14:05:11Z T-4030097550 D | MessX 2009-07-23T14:10:44Z T-4030097550 D | MessY 2009-07-23T14:34:08Z T-7298651656 D | MessX 2009-07-23T14:41:00Z T-7298651656 D | MessY 2009-07-23T15:05:10Z T-4030097550 D | MessZ... (5 Replies)
Discussion started by: daccad
5 Replies

4. Shell Programming and Scripting

Generating an xml having information related to files in the directory

Hi all, Have to generate an xml having information related to files in the directory Suppose i have file file1.xml (datafile) file2.xml (datafile) file3.xml (metafile) Now i need to generate an xml in the format >> <?xml version="1.0" encoding="UTF-8"?> <AuditFile Version="2.0">... (8 Replies)
Discussion started by: abhinav192
8 Replies

5. Shell Programming and Scripting

Need help with generating m3u files in numbered directories

Hello: First, I have no idea what to search for on this task, so I'll just spell it out. I have the Bible in Audio format and each book is in a directory of it's own. 01 to 66 accordingly. I need a script to walk through each of them and ls *.mp3 > directory|book.m3u without the preceding... (2 Replies)
Discussion started by: Habitual
2 Replies

6. Shell Programming and Scripting

Problem with script generating files in directory recursively

I have a script which generates recursively some files in folders for a given root folder. I have checks for permissions and it works for all folders except one(i have 777 permission on it). When i try calling the script in problematic folder(problematic folder being root folder), script works as... (2 Replies)
Discussion started by: bb2
2 Replies

7. Shell Programming and Scripting

Create md5 sums and archive the resulting md5 files

Hello everyone, I am looking to basically creating md5sum files for all iso files in a directory and archive the resulting md5 files into a single archive in that very same directory. I worked out a clumsy solution such as: #find files for which md5sum are to be created and store the... (1 Reply)
Discussion started by: SurfTranquille
1 Replies

8. Shell Programming and Scripting

Generating graphs for many number of files

Hi, I have a series of data files for which I wish to plot using "splot". Say, the files names are like: 950_data,951_data,952_data,......1000_data. For one file , say to plot 950_data, i write following lines into a single file and load it in the gnuplot as : gnuplot> load 'plot' ... (6 Replies)
Discussion started by: begin_shell
6 Replies

9. Shell Programming and Scripting

Comparing two files and generating the report

Hi All, What am trying to do is generate the report by compating two files. File A ----------- 111 22222 3333 222 55555 7777 File B ----------- 11A 22222 3333 333 55555 7778 Now the report should be as follows Added: 333 55555 7778 Removed: (6 Replies)
Discussion started by: Prashantckc
6 Replies

10. UNIX for Beginners Questions & Answers

Split Command Generating Incomplete Output Files

Hello All, May i please know how do i ensure my split command would NOT generate incomplete output files like below, the last lines in each file is missing some columns or last line is complete. split -b 50GB File File_ File_aa |551|70210203|xxxxxxx|12/22/2010 20:44:58|11/01/2010... (1 Reply)
Discussion started by: Ariean
1 Replies
TWADMIN(8)						      System Manager's Manual							TWADMIN(8)

NAME
twadmin - Tripwire administrative and utility tool SYNOPSIS
twadmin { -m F | --create-cfgfile } options... configfile.txt twadmin { -m f | --print-cfgfile } [ options... ] twadmin { -m P | --create-polfile } [ options... ] policyfile.txt twadmin { -m p | --print-polfile } [ options... ] twadmin { -m R | --remove-encryption } [ options... ] file1 [ file2... ] twadmin { -m E | --encrypt } [ options... ] file1 [ file2... ] twadmin { -m e | --examine } [ options... ] file1 [ file2... ] twadmin { -m G | --generate-keys } options... twadmin { -m C | --change-passphrases } options... DESCRIPTION
The twadmin utility is used to perform certain administrative functions related to Tripwire files and configuration options. Specifically, twadmin allows encoding, decoding, signing, and verification of Tripwire files, and provides a means to generate and change local and site keys. Creating a configuration file (--create-cfgfile) This command mode designates an existing text file as the new configuration file for Tripwire. The plain text configuration file must be specified on the command line. Using the site key, the new configuration file is encoded and saved. Printing a configuration file (--print-cfgfile) This command mode prints the specified encoded and signed configuration file in clear-text form to standard output. Replacing a policy file (--create-polfile) This command mode designates an existing text file as the new policy file for Tripwire. The plain text policy file must be specified on the command line. Using the site key, the new policy file is encoded and saved. Printing a policy file (--print-polfile) This command mode prints the specified encoded and signed policy file in clear-text form to standard output. Removing encryption from a file (--remove-encryption) This command mode allows the user to remove signing from signed configuration, policy, database, or report files. Multiple files may be specified on the command line. The user will need to enter the appropriate local or site keyfile, or both if a combination of files is to be verified. Even with the cryptographic signing removed, these files will be in a binary encoded (non-human-readable) form. Encrypting a file (--encrypt) This command mode allows the user to sign configuration, policy, database files, or reports. Multiple files may be specified on the com- mand line. The files will be signed using either the site or local key, as appropriate for the type of file. To automate the process, the passphrase for the key files can be included on the command line. Examining the signing status of a file (--examine) This command allows the user to examine the listed files and print a report of their signing status. This report displays the filename, file type, whether or not a file is signed, and what key (if any) is used to sign it. Generating keys (--generate-keys) This command mode generates site and/or local key files with names specified by the user. Changing passphrases (--change-passphrases) This command reencrypts the private part of the site and/or local key files using the key filenames and passphrases specified by the user. OPTIONS
Creating a configuration file: -m F --create-cfgfile -v --verbose -s --silent, --quiet -c cfgfile --cfgfile cfgfile -S sitekey --site-keyfile sitekey -Q passphrase --site-passphrase passphrase -e --no-encryption configfile.txt -m F, --create-cfgfile Mode selector. -v, --verbose Verbose output mode. Mutually exclusive with (-s). -s, --silent, --quiet Silent output mode. Mutually exclusive with (-v). -c cfgfile, --cfgfile cfgfile Specify the destination of the encoded (and optionally signed) configuration file. -S sitekey, --site-keyfile sitekey Use the specified site key file to encode and sign the new configuration file. Exactly one of (-S) or (-e) must be specified. -Q passphrase, --site-passphrase passphrase Specifies passphrase to be used with site key for configuration file encoding and signing. Valid only in conjunction with (-S). -e, --no-encryption Do not sign the configuration file being stored. The configuration file will still be compressed, and will not be human-readable. Mutually exclusive with (-Q) and (-S). configfile.txt Specifies the text configuration file that will become the new configuration file. __________________________________________________________________________________________________________________________________________________ Printing a configuration file: -m f --print-cfgfile -v --verbose -s --silent, --quiet -c cfgfile --cfgfile cfgfile -m f, --print-cfgfile Mode selector. -v, --verbose Verbose output mode. Mutually exclusive with (-s). -s, --silent, --quiet Silent output mode. Mutually exclusive with (-v). -c cfgfile, --cfgfile cfgfile Print the specified configuration file. __________________________________________________________________________________________________________________________________________________ Creating a policy file: -m P --create-polfile -v --verbose -s --silent, --quiet -c cfgfile --cfgfile cfgfile -p polfile --polfile polfile -S sitekey --site-keyfile sitekey -Q passphrase --site-passphrase passphrase -e --no-encryption policyfile.txt -m P, --create-polfile Mode selector. -v, --verbose Verbose output mode. Mutually exclusive with (-s). -s, --silent, --quiet Silent output mode. Mutually exclusive with (-v). -c cfgfile, --cfgfile cfgfile Use the specified configuration file. -p polfile, --polfile polfile Specify the destination of the encoded (and optionally signed) policy file. -S sitekey, --site-keyfile sitekey Use the specified site key file. Mutually exclusive with (-e). -Q passphrase, --site-passphrase passphrase Specifies passphrase to be used with site key for policy signing. Mutually exclusive with (-e). -e, --no-encryption Do not sign the policy file being stored. The policy file will still be compressed, and will not be human-readable. Mutually ex- clusive with (-Q) and (-S). policyfile.txt Specifies the text policy file that will become the new policy file. __________________________________________________________________________________________________________________________________________________ Printing a policy file: -m p --print-polfile -v --verbose -s --silent, --quiet -c cfgfile --cfgfile cfgfile -p polfile --polfile polfile -S sitekey --site-keyfile sitekey -m p, --print-polfile Mode selector. -v, --verbose Verbose output mode. Mutually exclusive with (-s). -s, --silent, --quiet Silent output mode. Mutually exclusive with (-v). -c cfgfile, --cfgfile cfgfile Use the specified configuration file. -p polfile, --polfile polfile Print the specified policy file. -S sitekey, --site-keyfile sitekey Use the specified site key file. __________________________________________________________________________________________________________________________________________________ Removing encryption from a file: -m R --remove-encryption -v --verbose -s --silent, --quiet -c cfgfile --cfgfile cfgfile -L localkey --local-keyfile localkey -S sitekey --site-keyfile sitekey -P passphrase --local-passphrase passphrase -Q passphrase --site-passphrase passphrase file1 [ file2... ] -m R, --remove-encryption Mode selector. -v, --verbose Verbose output mode. Mutually exclusive with (-s). -s, --silent, --quiet Silent output mode. Mutually exclusive with (-v). -c cfgfile, --cfgfile cfgfile Use the specified configuration file. -L localkey, --local-keyfile localkey Specify the local keyfile to use to verify database files and reports. -S sitekey, --site-keyfile sitekey Specify the site keyfile to use to verify configuration and policy files. -P passphrase, --local-passphrase passphrase Specify the passphrase to use when verifying with the old local keyfile. -Q passphrase, --site-passphrase passphrase Specify the passphrase to use when verifying with the old site keyfile. file1 [ file2... ] List of files from which signing is to be removed. __________________________________________________________________________________________________________________________________________________ Encrypting a file: -m E --encrypt -v --verbose -s --silent, --quiet -c cfgfile --cfgfile cfgfile -L localkey --local-keyfile localkey -S sitekey --site-keyfile sitekey -P passphrase --local-passphrase passphrase -Q passphrase --site-passphrase passphrase file1 [ file2... ] -m E, --encrypt Mode selector. -v, --verbose Verbose output mode. Mutually exclusive with (-s). -s, --silent, --quiet Silent output mode. Mutually exclusive with (-v). -c cfgfile, --cfgfile cfgfile Use the specified configuration file. -L localkey, --local-keyfile localkey Specify the local keyfile to use to sign database files and reports. -S sitekey, --site-keyfile sitekey Specify the site keyfile to use to sign configuration and policy files. -P passphrase, --local-passphrase passphrase Specify the passphrase to use when signing with the local keyfile. -Q passphrase, --site-passphrase passphrase Specify the passphrase to use when signing with the site keyfile. file1 [ file2... ] List of files to sign using the new key(s). __________________________________________________________________________________________________________________________________________________ Examining the encryption status of a file: -m e --examine -v --verbose -s --silent, --quiet -c cfgfile --cfgfile cfgfile -L localkey --local-keyfile localkey -S sitekey --site-keyfile sitekey file1 [ file2... ] -m e, --examine Mode selector. -v, --verbose Verbose output mode. Mutually exclusive with (-s). -s, --silent, --quiet Silent output mode. Mutually exclusive with (-v). -c cfgfile, --cfgfile cfgfile Use the specified configuration file. -L localkey, --local-keyfile localkey Specifies the key to use as a local key. -S sitekey, --site-keyfile sitekey Specifies the key to use as a site key. file1 [ file2... ] List of files to examine. __________________________________________________________________________________________________________________________________________________ Generating keys: -m G --generate-keys -v --verbose -s --silent, --quiet -L localkey --local-keyfile localkey -S sitekey --site-keyfile sitekey -P passphrase --local-passphrase passphrase -Q passphrase --site-passphrase passphrase -m G, --generate-keys Mode selector. -v, --verbose Verbose output mode. Mutually exclusive with (-s). -s, --silent, --quiet Silent output mode. Mutually exclusive with (-v). -L localkey, --local-keyfile localkey Generate the local key into the specified file. At least one of (-L) or (-S) must be specified. -S sitekey, --site-keyfile sitekey Generate the site key into the specified file. At least one of (-S) or (-L) must be specified. -P passphrase, --local-passphrase passphrase Specify local passphrase to be used when generating the local key. -Q passphrase, --site-passphrase passphrase Specify site passphrase to be used when generating the site key. __________________________________________________________________________________________________________________________________________________ Changing passphrases: -m C --change-passphrases -v --verbose -s --silent, --quiet -L localkey --local-keyfile localkey -S sitekey --site-keyfile sitekey -P passphrase --local-passphrase passphrase -Q passphrase --site-passphrase passphrase --local-passphrase-old passphraseOld --site-passphrase-old passphraseOld -m C, --change-passphrases Mode selector. -v, --verbose Verbose output mode. Mutually exclusive with (-s). -s, --silent, --quiet Silent output mode. Mutually exclusive with (-v). -L localkey, --local-keyfile localkey Change passphrase used to encrypt the private key in the specified localkey file. At least one of (-L) or (-S) must be specified. -S sitekey, --site-keyfile sitekey Change passphrase used to encrypt the private key in the specified sitekey file. At least one of (-L) or (-S) must be specified. -P passphrase, --local-passphrase passphrase Specify passphrase used to encrypt the private key in the specified localkey file. -Q passphrase, --site-passphrase passphrase Specify passphrase used to encrypt the private key in the specified sitekey file. --local-passphrase-old passphraseOld Specify passphrase used to decrypt the private key in the specified localkey file. --site-passphrase-old passphraseOld Specify passphrase used to decrypt the private key in the specified sitekey file. VERSION INFORMATION
This man page describes twadmin version 2.4.1. AUTHORS
Tripwire, Inc. COPYING PERMISSIONS
Permission is granted to make and distribute verbatim copies of this man page provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this man page under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this man page into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by Tripwire, Inc. Copyright 2000 Tripwire, Inc. Tripwire is a registered trademark of Tripwire, Inc. in the United States and other countries. All rights re- served. SEE ALSO
twintro(8), tripwire(8), twprint(8), siggen(8), twconfig(4), twpolicy(4), twfiles(5) 1 July 2000 TWADMIN(8)
All times are GMT -4. The time now is 12:49 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy