Portál AbcLinuxu, 3. prosince 2025 16:53
tar sice bere přes 85% cpu, ale víc přes 100Mbit stejně neprojde, takže rychlejší tar není nutný. Ještě se pochlubit do blogu zdrojákem, a může se pracovat.
$ cat /usr/local/bin/ntar.py
#! /usr/bin/python
import socket, os, sys
def poll():
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind(('', 2000))
s.listen(1)
c, _ = s.accept()
os.close(0)
os.dup2(c.fileno(), 0)
os.execlp('tar', 'tar', 'xv')
def push(host, *src):
c = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
c.connect((host, 2000))
os.close(1)
os.dup2(c.fileno(), 1)
os.execlp('tar', 'tar', 'cv', *src)
if __name__ == '__main__':
if sys.argv[1] == 'poll': poll(*sys.argv[2:])
if sys.argv[1] == 'push': push(*sys.argv[2:])
Tiskni
Sdílej:
já nemám rád sambu ...
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.