Writes Backups of locations

    :param src:
        The source file/folder to backup
    :param loc:
        The target folder to backup into

        The backup will be called `src` + :func:`util.system.get_timestamp`.
        * If `loc` left to none, the backup gets written in the same \
        folder like `src` resides in

        * Otherwise the specified path will be used.

def backup_location(src, loc=None):
    '''
    Writes Backups of locations

    :param src:
        The source file/folder to backup
    :param loc:
        The target folder to backup into

        The backup will be called `src` + :func:`util.system.get_timestamp`.
        * If `loc` left to none, the backup gets written in the same \
        folder like `src` resides in

        * Otherwise the specified path will be used.
    '''

    from photon.util.system import get_timestamp

    src = _path.realpath(src)
    if not loc or not loc.startswith(_sep):
        loc = _path.dirname(src)

    pth = _path.join(_path.basename(src), _path.realpath(loc))
    out = '%s_backup_%s' % (_path.basename(src), get_timestamp())

    change_location(src, search_location(out, create_in=pth))