Timebased search script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Timebased search script
# 1  
Old 01-29-2015
Timebased search script

Hi there

first of all, sry for my bad english and possible mistakes .-)

I write scripts for my server to get my live easier. So my next one will be a script, where I can find special files in a folder.

I put with a script of mine files in a folder on the server with following name structure: name_date_time_ext
This happens every 3 hours. Now I can seperate the name components into variables for a possible search script like that:
Code:
   thisdate=`/bin/date "+%d.%m.%Y_%H:%m"`
	date=${thisdate%_*}
	time=${thisdate##*_}

   string=$(ls ~/teamspeak/teamspeak1_* | tail -1)
	path=${string%/*}
	file=${string##*/}
	filename=${file%.*}
	filext=${file##*.}
	filetime=${filename##*_}
	filedate=${filename%_*}
	filedate=${filedate##*_}

Now I can find every file with any date or time like this:
Code:
   if [ -e $string ]; then
	if [[ $filename == *$date* ]]; then
		clear && echo "For this date the file exist";
	else
		clear && echo "For this date the file do not exist";
	fi
   else
	clear && echo "No file found, please make backup first"
    fi

What I want to do is, to find the latest file, the last safed file in this folder.
Theoreticly I know I have to do something like a loop. But I don't know how.
I think I need a loop where the date varaible ask for a match.
If not jump back date - 3hours, if match ok if not jump back date - 3hours, and so on.
Bu tI don't know how. I hope someone can help me or give me direction to look for, or a tip to find something similar.

Greets & thanks
# 2  
Old 01-29-2015
You could use sed to paste the year month day hour and minute to the front of the filename like this:

Code:
ls ~/teamspeak/teamspeak1_* |
sed -nE 's/([^_]+)_([^.]+).([^.]+).([^_]+)_([^:]+):([^.]+)./\4\3\2\5\6 &/p'

reverse order sort by this value and cut file name back out of top line:

Code:
ls ~/teamspeak/teamspeak1_* |
sed -nE 's/([^_]+)_([^.]+).([^.]+).([^_]+)_([^:]+):([^.]+)./\4\3\2\5\6 &/p' | 
sort -r | sed -nE '1s/[^ ]+ //p'

Example:

Code:
$ ls
dummyfile  lean_30.01.2015_12:22.txt  team22_10.03.2013_14:19.sql  test_07.12.2013_16:55.txt

$ ls | sed -nE 's/([^_]+)_([^.]+).([^.]+).([^_]+)_([^:]+):([^.]+)./\4\3\2\5\6 &/p' | sort -r
201501301222 lean_30.01.2015_12:22.txt
201312071655 test_07.12.2013_16:55.txt
201303101419 team22_10.03.2013_14:19.sql

$ ls | sed -nE 's/([^_]+)_([^.]+).([^.]+).([^_]+)_([^:]+):([^.]+)./\4\3\2\5\6 &/p' | sort -r | sed -nE '1s/[^ ]+ //p'
lean_30.01.2015_12:22.txt

# 3  
Old 01-29-2015
You used && where ; would suffice.
Its not about the numbers of chars used, but its better to use a condition, which && is, only when it is required.

Since you will display only once, you could put the message to a variable, and print it at the end.
But i guess this could be called preference...
Code:
...
	else
		MSG="For this date the file do not exist";
	fi
else
	MSG="No file found, please make backup first"
fi
clear
echo "$MSG"

And to be honest, in my opinion clear is not required at all.

hth
# 4  
Old 01-30-2015
Hi

@Chubler_XL
Really thanks to you, with that option there are new doors open for me, needed a litte bit to understand it but thats great

@sea
thanks for the tip of ending with ; instead of &&. thats better now and I can write compact and better now.
And about clear, its not nessesary but its better to see only the current text and question for users.
Its more clear display and not too much code to see

@all
"...and not too much code to see"
Is it possible to hide all of the action of a code? Like silent mode or somthing like that?
the important stuff sould be shown to the user but the rest I think makes it a little bit too much for some users.
# 5  
Old 01-30-2015
The code isnt shown to the user.
Unless you have something like:
Code:
#!/bin/bash -x
OR 
set -x

In your script.

But anyway, imagine you would like to check like 3 files.
So you would call the script passing either 3 times on file, or one time 3 files to the script.

Using clear you'd get a word printed, cleared the screen, printed a word, cleared the screen, and printed a word.
In the end, you'd see the last word checked, but not the other two, as the screen was cleared two times.

hth
# 6  
Old 01-30-2015
Hi

@sea
Oh yes thats of course true I din't think about that, so clear isn't good for me, I think any other options arn't there so it doesn't matter then the code should better be seen.

But with the three files I don't know if its that way I will do in the end, I think over it because I am not sure like I should realice a full backupscript for users. This is only a backbone which I still improve that when I know how.

@all
Is it better for you (think as a user) when you need to bring back a backup to get automaticly the last one, or get standart option the last one, with question to get other ones?
And how long do you would hold the backups? I think aboute to delete them per script after 2 weeks to hold my system free.

---------- Post updated at 11:53 AM ---------- Previous update was at 11:37 AM ----------

@all

At this time my script is working like this:

1:
user can make backup himselfe and automaticly all 3 hours with safing db file and serverfiles on my server as default
user is asked if he wants do take a own ftp server for filebackup, if yes the ftp data are safed in a db of mine to connect everytime

2:
user get asked to get standard option (take last backup) or to take a specified one per date
if a specified he can choose the date of listing all files of last 2 weeks if not script continues
user get shown if a backup is there of (last) actuell date/time and get asked to take this or last backup
if last backup (at this moment) only takes the backup of the last safe and ask to do
then the script takes a "special" backup of the db before restoring backup, do restore and make a new backup for the user

3:
User get asked to restore files too or only db
if files too, the script save the files now on my server first before restoring, restore backup files from his/mine server,
makes a new backup and user get asked if he wants to get the special backup of these files bevor they get restored
if not he get asked if he agrees to delete this special filebackup to save space

Is this ok for you or did I forget something or do better one?

EDIT:
And is it better go make the script for user to execut like ./backup store|restore..... or as a service?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Help with ip search script

Hi Obviously first time poster here. I have been set the task of creating a network diagram for each of our clients in the business i work for. After identifying ip adresses of firewalls name servers and the like im got to the point where i found it impracticle to go through 254 ip address and... (6 Replies)
Discussion started by: jeked
6 Replies

2. Shell Programming and Scripting

Please help in creating search script

Hi all, Hope everyone is doing fine. I need a help in creating search script. I have file which contains job names and job recs. I need to select specific job name and next line which is job rec job (BLREEXTT) { Record B${cycle}${month}${year}000075; follows BLCYRRTCHKT; ... (5 Replies)
Discussion started by: taksistalo
5 Replies

3. Shell Programming and Scripting

Search and Copy Script

Dear All, I would like to create a Unix script which basically searches for files which are more than 2 days old and copy only the new files to the destination. What i mean is if the destination may have most of the files, it may not have only last 2 to 3 days file. I am able to create the... (6 Replies)
Discussion started by: rrb2009
6 Replies

4. Shell Programming and Scripting

Log Search Script

Hi, I am trying to write a script to search a log- IPaddress being the search criteria, I would ideally like the script to ask the ipaddress Enter IP address - 244.258.27.225 And the ideal result would be for the script to get all the entries in the log file for a particular IP address,... (3 Replies)
Discussion started by: fuzion.hyd
3 Replies

5. Shell Programming and Scripting

Small Search script

I need to write a small shell script which does the following : I have a file : root/var/log/ocmp/ocmpclient.log This is a log file which is continuosly getting updated . I have to keep looking into this file all the time. I have to look for four keywords, "File Detected", File Sending",... (2 Replies)
Discussion started by: appu1987
2 Replies

6. Shell Programming and Scripting

script to search a file

hi all i have a requirement to write a script which will serach a file in a particuar location for 3 hours from the time when the script is run.if during this period the file arrives in a particular location then this will transmit the file to a other server.please help me writing the script which... (1 Reply)
Discussion started by: dr46014
1 Replies

7. UNIX for Advanced & Expert Users

Help with search script

HI all, I am trying to find files that have .cc3 file extenstion folder using this script below, but this fails as there are files in the folder and i get a message saying i have no files. Please anyone reveiw and let me know if i am missing anything.I am working on this from two days and i... (9 Replies)
Discussion started by: bsandeep_80
9 Replies

8. Shell Programming and Scripting

Search File Script

Nice forum for noobs like me to UNIX. With that said, I need assistance. I am trying to make a script to search files for a specific date and string within the file. Then I need the script to move the file that have the specific date and string to a directory. In the interim I have been manually... (7 Replies)
Discussion started by: I4ce
7 Replies

9. Shell Programming and Scripting

Search script

I need to create a script called 'find_data' that will search a file by passing two parameters to it :confused: . I'm pretty good with scripting but haven't really gotten into sed and awk that much (and no perl whatsoever). I'm really at a loss and need to get something working in the next... (14 Replies)
Discussion started by: BCarlson
14 Replies

10. Shell Programming and Scripting

script to search all the directories

Hi there, Is there any command or script to search all the directories for duplicated files? Thanks, Abrahim (3 Replies)
Discussion started by: abk
3 Replies
Login or Register to Ask a Question