Sponsored Content
Top Forums Shell Programming and Scripting Need to create a simple script using MD5, SSH... Post 302501053 by jim mcnamara on Wednesday 2nd of March 2011 10:38:03 AM
Old 03-02-2011
md5 creates a distinct hash string based on the actual data in a file, ssh lets you run md5 on remote nodes, and scp copies files to remote nodes.

Assume the output of md5 looks like:
Code:
MD5 (t.lis) = ac0395498ed01862baf46065b2b92b16

The hash is the string at the end so it is the fourth field, fields defined by spaces is the default.

Assume that /path/to/master is on the server that you want as the master. And has the files to be "synced".

node1 node2 node3 are the names of remote servers/mirrors.

Code:
for fname in /path/to/master/*
do
    hash=$(md5 $fname | awk '{print $4}' )  # get hash for each master file
    bname=$(basename $fname)                 # just the file name, no path
    for box in node1 node2 node3       # check each remote mirror
    do
        t=$(ssh myusername@$box "md5 /path/to/file/$bname" ) 
        test_hash=$(echo "$t" | awk '{print $4}')
        if [ "$hash"  != "$test_hash ] ;  then         # files are not identical
             scp $fname myusername@$box:/path/to/file/$bname
             ssh /path/to/file/$bname "chmod 775 /path/to/file/$bname"
        fi
    done
done

Ask your boss about the chmod statement. You may not need it.
This User Gave Thanks to jim mcnamara For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to create md5 Hash variable?

I have a script that runs the grub-md5-crypt command based on whether the pass_value variable is a non-zero string. The md5 hash is being created in the /opt/hostconfigs/$HOST file, but I can't echo $md5_value. It is blank. Is there a way to create and echo a md5 hash variable? if then... (1 Reply)
Discussion started by: cstovall
1 Replies

2. Shell Programming and Scripting

Modifying simple commands to create a script

Can anyone direct me to a resource that explains scripting in simple terms? I have visited many sites and browsed this forum and have yet to find simple explanations. (8 Replies)
Discussion started by: rocinante
8 Replies

3. Shell Programming and Scripting

Simple Script to create folders

Hi I want to write a small script that will create folders named from `AAAA' all the way to `ZZZZ'. That is: `AAAA' `AAAB' `AAAC' ... `AABA' `AABB' `AABC' ... `ABAA' `ABAB' `ABAC' ... `ABBA' ... `ZZZZ' (4 Replies)
Discussion started by: ksk
4 Replies

4. Shell Programming and Scripting

Simple SSH script

I have several unix servers, I need to logon to each server and find out if an id exists on that server. I need a simple script for this, i have come up with the following script, but I cannot bring the output of a child process on the remote server. for i in `cat SERVER_LIST` do ssh $i... (5 Replies)
Discussion started by: ramky79
5 Replies

5. Solaris

How to create a simple background script on Solaris

I have a local account for a unix server. The idle timeout for the account is around 10 mins. I have to login to the server multiple times during the day. Is there a way to increase the idle timeout or may be a script that I can run on background so it is not idle. Something like echo date every 9... (3 Replies)
Discussion started by: vinaysa
3 Replies

6. Shell Programming and Scripting

How to create a simple shell script to backup

Hello - I am in process of deleting many files which are older than 4 weeks. For example I am inside: /subsystem/prod/ Files are with various extentions, but anything older than 4 weeks should be deleted. What would be the most simplest script to acheive this? (4 Replies)
Discussion started by: DallasT
4 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

How to create a simple copy script?

Guys I want to do this: copy: /var/router/system1/config/backup/install.put /var/router/system2/config/backup/install.put /var/router/system3/config/backup/install.put /var/router/system4/config/backup/install.put into: /var/router/system1/config/install.dat... (22 Replies)
Discussion started by: DallasT
22 Replies

9. Shell Programming and Scripting

Create simple script

Dear all, I have a directory named A and some subdirectories named B, C, D with .xml files. I want to use the following command to strip the file. sed -re ':start s/<*>//g; /</ {N; b start}' file.xml > file.xml At the same time, I want to remove the blank lines using sed '/^$/d' How can... (6 Replies)
Discussion started by: corfuitl
6 Replies

10. Shell Programming and Scripting

Help making simple perl or bash script to create a simple matrix

Hello all! This is my first post and I'm very new to programming. I would like help creating a simple perl or bash script that I will be using in my work as a junior bioinformatician. Essentially, I would like to take a tab-delimted or .csv text with 3 columns and write them to a "3D" matrix: ... (16 Replies)
Discussion started by: torchij
16 Replies
native(5)						Standards, Environments, and Macros						 native(5)

NAME
native - native branded zone DESCRIPTION
The native brand uses the branded zones framework described in brands(5) to run zones installed with the same software as is installed in the global zone. The system software must always be in sync with the global zone when using a native brand. SUB-COMMANDS The following native brand-specific subcommand options are supported in zoneadm(1M). attach [-u] [-b patchid]... For native zones, zoneadm checks package and patch levels on the machine to which the zone is to be attached. If the packages/patches that the zone depends on from the global zone are different (have different revision numbers) from the dependent packages/patches on the source machine, zoneadm reports these conflicts and does not perform the attach. If the destination system has only newer dependent packages/patches (higher revision numbers) than those on the source system, you can use the -u option to update the attached zone to match the -revision packages and patches that exist on the new system. With -u, as in the default behavior, zoneadm does not perform an attach if outdated packages/patches are found on the target system. For native zones, one or more -b options can be used to specify a patch ID for a patch installed in the zone. These patches will be backed out before the zone is attached or, if -u was also specified, updated. install [-a archive] | [-d path] [-p] [-s] [-u] [-v] [-b patchid]... The native brand installer supports installing the zone from either the software already installed on the system or from an image of an installed system running the same release. This can be a full flash archive (see flash_archive(4)) or a cpio(1) or pax(1) "xustar" ar- chive. The cpio archive be compressed with gzip or bzip2. The image can also be a level 0 ufsdump(1M), a path to the top-level of a system's root tree, or a pre-existing zone path. With no options the zone is installed using same software as is running the global zone. To install the zone from a system image either the -a or -d is required. Either the -u or -p option is also required in this case. -a archive The path to a flash_archive(4), cpio(1), or pax(1) "xustar" archive, or a level0 ufsdump(1M), of an installed system. cpio archives may be compressed using gzip or bzip2. -b patchid One or more -b options can be used to specify a patch ID for a patch installed in the system image. These patches will be backed out during the installation process. -d path The path to the root directory of an installed system. If path is a hyphen (-), the zonepath is presumed to be already populated with the system image. -p Preserve the system configuration after installing the zone. -s Install silently. -u Run sys-unconfig(1M) on the zone after installing it. -v Verbose output from the install process. ATTRIBUTES
See attributes(5) for a description of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWzoneu | +-----------------------------+-----------------------------+ |Interface Stability |Uncommitted | +-----------------------------+-----------------------------+ SEE ALSO
cpio(1), pax(1), zlogin(1), zonename(1), sys-unconfig(1M), ufsdump(1M), zoneadm(1M), zonecfg(1M), flash_archive(4), attributes(5), brands(5), privileges(5), zones(5), lx_systrace(7D) SunOS 5.11 13 Feb 2009 native(5)
All times are GMT -4. The time now is 10:02 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy