Apakah SCP mengunci file yang ditransfer?

8

Ada situasi di mana kita memiliki log aplikasi yang berada di server AIX. Log sedang terus ditulis dari aplikasi, dan kami memiliki pengguna di Windows yang ingin melihat file. Apa yang telah mereka lakukan adalah menggunakan WinSCP untuk mentransfer file ke desktop mereka dan mereka membukanya menggunakan editor teks.

Apa yang saya pikir mungkin terjadi adalah scp mengunci file selama durasi transfer, dan aplikasi berhenti menulis ke file. Alasan saya percaya ini adalah file log akan berhenti tumbuh pada titik acak di siang hari.

Apakah itu yang mungkin terjadi?

Terima kasih
sumber
Saya pikir aixtag akan diterima.
Cristian Ciupitu

Jawaban:

8

Mengapa kamu tidak mencoba ini. Mulai scp'ing file besar kemudian jalankan lsof /path/to/filedi server AIX dan lihat apa kata kolom FD.

Dari halaman manual lsof:

   FD         is the File Descriptor number of the file or:
                   cwd  current working directory;
                   Lnn  library references (AIX);
                   err  FD information error (see NAME column);
                   jld  jail directory (FreeBSD);
                   ltx  shared library text (code and data);
                   Mxx  hex memory-mapped type number xx.
                   m86  DOS Merge mapped file;
                   mem  memory-mapped file;
                   mmap memory-mapped device;
                   pd   parent directory;
                   rtd  root directory;
                   tr   kernel trace file (OpenBSD);
                   txt  program text (code and data);
                   v86  VP/ix mapped file;
              FD is followed by one of these characters, describing the mode under which the file is open:
                   r for read access;
                   w for write access;
                   u for read and write access;
                   space if mode unknown and no lock
                        character follows;
                   `-' if mode unknown and lock
                        character follows.
              The mode character is followed by one of these lock characters, describing the type of lock applied to the file:
                   N for a Solaris NFS lock of unknown type;
                   r for read lock on part of the file;
                   R for a read lock on the entire file;
                   w for a write lock on part of the file;
                   W for a write lock on the entire file;
                   u for a read and write lock of any length;
                   U for a lock of unknown type;
                   x for an SCO OpenServer Xenix lock on part of the file;
                   X for an SCO OpenServer Xenix lock on the entire file;
                   space if there is no lock.
              See the LOCKS section for more information on the lock information character.
              The FD column contents constitutes a single field for parsing in post-processing scripts.

Jika Anda melakukan ini, setidaknya di Linux, Anda akan melihat bahwa kolom FD adalah "3r" yang berarti memiliki semacam kunci baca, tetapi saya tidak yakin apa arti angka 3 di depannya.

Pengaruh 3d
sumber
FYI, ya itu menempatkan kunci baca pada file! Terima kasih!
ThaDon
Oh, sebenarnya r kecil menunjukkan kunci hanya pada sebagian file, mungkin scp bukan masalah kalau begitu ...
ThaDon
1
Itu benar r kecil menunjukkan bahwa itu adalah kunci byte. Jadi secara teori itu hanya mengunci bagian yang sedang dikirim. Tetapi jika Anda membaca halaman manual lsof tentang pengunciannya juga mengatakan bahwa itu mungkin tidak melaporkan penguncian secara akurat dalam beberapa kasus. Anda mungkin ingin menyiapkan percobaan di mana Anda memiliki file teks besar ... mulai scp'ing dan kemudian lakukan sesuatu seperti echo "blah blah blah" >> textfile. Jika itu berhasil menambahkannya ke akhir file maka saya akan mengatakan bahwa apa yang dilaporkan adalah benar.
3dinfluence
1

Sebagian besar program Unix tidak menggunakan penguncian atau ketika mereka menggunakannya, itu tidak wajib, jadi saya ragu penguncian akan menghentikan pertumbuhan log Anda. Kemungkinan besar transfer SCP memperlambat penulisan log.

Cristian Ciupitu
sumber