improve the stability of CSVRecorder

     if self._write_headers or self._header_size == 0:
            # add header when run component again in order to distinguish
            # different runs when appending mode


     # avoiding error when appending mode and original file has been earased
     if os.path.isfile(self.filename):
           shutil.copyfile(self.filename, backup_name)