Locking a file when using VI to prevent multiple-edit sessions by diff users


 
Thread Tools Search this Thread
Operating Systems AIX Locking a file when using VI to prevent multiple-edit sessions by diff users
# 8  
Old 11-15-2006
vim (an excellent vi clone) creates a swap file when you open a file. A side-effect is that if someone else opens the file in vim it sees that there already is a swap file. It then tells the user that the file is already opened by someone else (and which user that is) and asks if you maybe want to open it read-only. Maybe switching to vim is an option?
# 9  
Old 11-15-2006
Quote:
Originally Posted by Jeeves
vim (an excellent vi clone) creates a swap file when you open a file. A side-effect is that if someone else opens the file in vim it sees that there already is a swap file. It then tells the user that the file is already opened by someone else (and which user that is) and asks if you maybe want to open it read-only. Maybe switching to vim is an option?
Without revision control, vim is probably okay, but note that you can still forcefully edit the file despite its warning (probably opened by another party). And, what if the other party is opening the file with emacs? joe? or just simply the filesystem is samba mounted and the file opened with Notepad on a Windows machine? The swap file serves no purpose then. Can you control the exact editor the staff is using? It depends on whether the company is willing to bear this risk. For most companies, especially for production servers, this is most probably no.

Therefore, any editor-specific feature is unlikely to be safe by most corporate standards, if there is any.
# 10  
Old 11-15-2006
"At the office"..."We are 4-6 workers"...
talk to each other!
# 11  
Old 11-16-2006
Quote:
Originally Posted by dukessd
"At the office"..."We are 4-6 workers"...
talk to each other!
Hmm. Then the office will be very noisy, I guess. Smilie
# 12  
Old 11-22-2006
I do have a very simple way of doing this but it involves renaming vi to something else (viedit for example) and replacing vi with a K shell script. If you are interested let me know here and I will post the script.
# 13  
Old 11-22-2006
I'm interested : )
# 14  
Old 11-22-2006
OK

If you follow the previous instructions and paste the following into a script named vi and situate it in the /usr/bin directory. I have tested it with no errors.

#!/bin/ksh
#
vimod=/usr/bin/viedit
#
# The above is the renamed vi executable.
#
vercnt=/tmp/vercnt
vercnt1=/tmp/vercnt1
#
# You can put the above anywhere you want.
#
PID=$$
#
# Check the number of attribs equal to zero no file name given.
#
if [[ $# -eq 0 ]]
then
echo No file name given exiting
exit 3
fi
#
vifile=$1
grep $vifile $vercnt 1>/dev/null 2>&1
if [[ $? != 0 ]]
then
echo $vifile":$PID" >> $vercnt
else
echo Sorry this file is already being edited please try later
exit 3
fi
#
# This is where vi will be called.
#
$vimod $vifile
#
# When the vi session ends the function will return here and delete the PID entry from the
# holding file.
#
cat $vercnt | grep -v $PID > $vercnt1
mv $vercnt1 $vercnt

Enjoy.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Find number of ACTIVE SSH putty sessions, excluding where the user hopped on to a diff server

Hi - If iam logged on to server A, on 4 putty windows using SSH ... and out of these 4 logged-in sessions, in one of the sessions if i did SSH from server A to server B; i would now have 4 putty windows sessions ... of which 3 are actively logged on to Server A while 1 putty window is actively... (2 Replies)
Discussion started by: i4ismail
2 Replies

2. AIX

Telnet sessions stay as idle users

Hi The telnet sessions stay as idle users. It is not getting kicked out. Please advise what could be the issue. only when we reboot the server these telnet sessions goes. Below is the current output from the server. we rebooted the server three days ago: pmut6:/> uptime 04:21PM... (8 Replies)
Discussion started by: newtoaixos
8 Replies

3. Shell Programming and Scripting

Need Help to Edit multiple column of a file

Hello Team, I want to know if there is any one liner command , using which I can edit multiple column of a file. input file input.txt (comma separated), taran, 12.45, uttam, 23.40, babay karan, 12.45, raju, 11.40, rahulg I want to update, 2nd and 4th column, but want all those column... (8 Replies)
Discussion started by: Uttam Maji
8 Replies

4. HP-UX

Users getting kicked out of sessions

We have an old (11.11) HP-UX system. A couple of months ago, our customers started having problems with their logins. After sitting idle for roughly an hour, their screens would lock up and they would be kicked out of the system. This happens if they are in the application or on the command... (2 Replies)
Discussion started by: slkdnichols
2 Replies

5. UNIX for Dummies Questions & Answers

In vi, any way to prevent :edit from repositioning the screen?

I am working on a project where I need to make many changes to files, both inside and outside of the vi editor. I make small changes manually right in vi, and I have a script that I run from another session that I use to make bigger changes to the files using sed. After running my script from... (2 Replies)
Discussion started by: RickS
2 Replies

6. UNIX for Advanced & Expert Users

Samba - prevent locking of selected files over network?

I have a samba server which is serving a mixture of files. One main application uses a data file and creates a temporary working execution file at startup and holds that temp execution file open for the duration of the program's execution (but doesn't use the file at all after initial startup). ... (0 Replies)
Discussion started by: humbletech99
0 Replies

7. Solaris

locking a users file as root

hello, I have a challenge to find a way to lock down a file in a user's home directory, such that a user can NOT modify, rename, move, delete, etc. The solution needs to be deployable without, for example, having to switch from unix to windows, etc We are using NFS. We want to lock the... (1 Reply)
Discussion started by: jvmagic
1 Replies

8. Solaris

Prevent users logging in as root

I would like to know how to prevent users connecting to a server using SSH as root. I would still like them to be able to login with their username and then change to su. But I would like to prevent them logging in directly as root. I have searched the forum and read that I should set... (3 Replies)
Discussion started by: Sepia
3 Replies

9. AIX

Users Are Getting Kicked out of 2Hr Sessions

:confused:We've had close to 100 calls about users logging into our AIX server. The users open up about 3 to 5 sessions in the server. After 2hrs of idle time, users are frozen or stuck in the IBM UniVerse Application. We (system administrators) have been blaming the application (which we'll take... (2 Replies)
Discussion started by: Sarccastik Dude
2 Replies

10. Shell Programming and Scripting

Prevent file from being mailed multiple times from a job

We have a ksh which runs once every 15 minutes. Based on a certain condition (for invalid data) we are spooling a file and if the file is of length greater than 0 bytes, then we are mailing this file to a group of users. Upon receiving the file, users correct the data so that on its next run the... (2 Replies)
Discussion started by: Sree_2503
2 Replies
Login or Register to Ask a Question