Add current sync info to log
This commit is contained in:
parent
4b7de4a5ca
commit
0e4583d3af
33
start.py
33
start.py
@ -20,8 +20,9 @@ def setup_uid(uid: int, gid: int):
|
|||||||
|
|
||||||
|
|
||||||
def start_seaf_daemon():
|
def start_seaf_daemon():
|
||||||
os.system(f'su - {DEFAULT_USERNAME} -c "seaf-cli start"')
|
cmd = 'seaf-cli start'
|
||||||
time.sleep(10)
|
subprocess.run(['su', '-', DEFAULT_USERNAME, '-c', cmd])
|
||||||
|
time.sleep(5)
|
||||||
|
|
||||||
|
|
||||||
def create_dir(dir_path: str):
|
def create_dir(dir_path: str):
|
||||||
@ -78,7 +79,31 @@ class SeafileClient:
|
|||||||
'-u', self.user,
|
'-u', self.user,
|
||||||
'-p', self.password]
|
'-p', self.password]
|
||||||
cmd = ' '.join(cmd)
|
cmd = ' '.join(cmd)
|
||||||
os.system(f'su - {DEFAULT_USERNAME} -c "{cmd}"')
|
subprocess.run(['su', '-', DEFAULT_USERNAME, '-c', cmd])
|
||||||
|
|
||||||
|
def get_status(self):
|
||||||
|
cmd = 'seaf-cli status'
|
||||||
|
out = subprocess.check_output(['su', '-', DEFAULT_USERNAME, '-c', cmd])
|
||||||
|
out = out.decode().splitlines()
|
||||||
|
|
||||||
|
statuses = dict()
|
||||||
|
for line in out:
|
||||||
|
if line.startswith('#') or not line.strip():
|
||||||
|
continue
|
||||||
|
lib, status = line.split(sep='\t', maxsplit=1)
|
||||||
|
status = status.replace('\t', ' ')
|
||||||
|
statuses[lib] = status
|
||||||
|
return statuses
|
||||||
|
|
||||||
|
def watch_status(self):
|
||||||
|
prev_status = dict()
|
||||||
|
while True:
|
||||||
|
time.sleep(5)
|
||||||
|
cur_status = self.get_status()
|
||||||
|
for folder, state in cur_status.items():
|
||||||
|
if state != prev_status.get(folder):
|
||||||
|
print(f"Synced folder {folder}: {state}")
|
||||||
|
prev_status[folder] = cur_status[folder]
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
@ -99,7 +124,7 @@ def main():
|
|||||||
client = SeafileClient(args.host, args.port, args.username, args.password)
|
client = SeafileClient(args.host, args.port, args.username, args.password)
|
||||||
for lib_id in args.libs.split(sep=":"):
|
for lib_id in args.libs.split(sep=":"):
|
||||||
client.sync_lib(lib_id, args.data_dir)
|
client.sync_lib(lib_id, args.data_dir)
|
||||||
tail_f("/seafile-client/.ccnet/logs/seafile.log")
|
client.watch_status()
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user