Python автоматическое перемещение старых файлов

Очень при использовании в организации сервера IP телефонии есть потребность в сохранении записи разговоров. Поэтому встает вопрос о том где хранить записи вызовов. Особенно если это сфера ЖКХ то записи там порой надо хранить 3 года. Локальные диски ограничивают в емкости, и не всегда имеет смысл хранить на дисках которые постоянно в работе. Если есть сетевой диск, или же хранилище которое подключено как сетевой диск можно к примеру записи по условию переполнения локального хранилища перемещать на этот ресурс, а на исходный диск генерировать ссылку для быстрого доступа к оригинальному месту хранения.
Скрипт написан на Python3
#!/usr/bin/python3
import os
import shutil
import time
import datetime
now = datetime.datetime.now ()
current_year = now.year
days_ago = time.time () — (1 * 86400)
src_dir = '/home/kipalex/old_files/' + str (current_year)
dst_dir = '/home/kipalex/new_files/' + str (current_year)
def move ():
for item in os.listdir (src_dir):
is_exist = os.path.exists (dst_dir + '/' + item)
if is_exist is True:
print ('Не перемещаем! Симлинк уже существует!')
else:
s = os.path.join (src_dir, item)
d = os.path.join (dst_dir, item)
if os.stat (s).st_mtime ≤ days_ago:
if os.path.isdir (s):
shutil.move (s, d)
else:
print ('Спасите помогите я сломалась!')
create_symlink ()
def create_symlink ():
for item in os.listdir (dst_dir):
folders = dst_dir + '/' + item + '/'
print (folders)
is_exist = os.path.exists (src_dir + '/' + item)
if is_exist is True:
print ('Симлинк уже существует! Не требует создания!')
else:
os.symlink (folders, src_dir + '/' + item)
if» __main__» == __name__:
move ()
В скрипте переменную current_year можно убрать она добавлялась для сервере FreePBX.
Если вдруг у Вас возникнут сложности с настройкой Asterisk, Вы всегда можете обратиться к нам за консультацией.
Благодарность за статью 100 рублей.