+7 (927) 984-30-02

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

22 февраля 2023 г.
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 рублей.