rename() is certainly the easiest to use for any sort of file-system based synchronization.
As long as you don't run into or want freedom from possible path races, for that you need the missing:
frenameat2(srcdirfd, srcfd, srcname, dstdirfd, dstfd, dstname)
As long as you don't run into or want freedom from possible path races, for that you need the missing: