X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=main.cc;h=ef8f2d7fb9284784e4aa744de62ed904d7a6bb87;hb=5d386960f207f991833f1204748bc4323934f761;hp=fa8e4c9e3f46aade34c749fb0713b83ee125dbbc;hpb=fbe7425ae37564a99eb49133561eea5f1a6c7877;p=cumulus.git diff --git a/main.cc b/main.cc index fa8e4c9..ef8f2d7 100644 --- a/main.cc +++ b/main.cc @@ -82,11 +82,6 @@ static char *block_buf; * invocations to help in creating incremental snapshots. */ LocalDb *db; -/* Snapshot intent: 1=daily, 7=weekly, etc. This is not used directly, but is - * stored in the local database and can help guide segment cleaning and - * snapshot expiration policies. */ -double snapshot_intent = 1.0; - /* Selection of files to include/exclude in the snapshot. */ PathFilterList filter_rules; @@ -657,8 +652,7 @@ void usage(const char *program) " --signature-filter=COMMAND\n" " program though which to filter descriptor\n" " --scheme=NAME optional name for this snapshot\n" - " --intent=FLOAT intended backup type: 1=daily, 7=weekly, ...\n" - " (defaults to \"1\")\n" + " --intent=FLOAT DEPRECATED: ignored, and will be removed soon\n" " --full-metadata do not re-use metadata from previous backups\n" " --rebuild-statcache re-read all file data to verify statcache\n" " -v --verbose list files as they are backed up\n" @@ -689,7 +683,7 @@ int main(int argc, char *argv[]) {"dest", 1, 0, 0}, // 3 {"scheme", 1, 0, 0}, // 4 {"signature-filter", 1, 0, 0}, // 5 - {"intent", 1, 0, 0}, // 6 + {"intent", 1, 0, 0}, // 6, DEPRECATED {"full-metadata", 0, 0, 0}, // 7 {"tmpdir", 1, 0, 0}, // 8 {"upload-script", 1, 0, 0}, // 9 @@ -729,9 +723,9 @@ int main(int argc, char *argv[]) signature_filter = optarg; break; case 6: // --intent - snapshot_intent = atof(optarg); - if (snapshot_intent <= 0) - snapshot_intent = 1; + fprintf(stderr, + "Warning: The --intent= option is deprecated and will " + "be removed in the future.\n"); break; case 7: // --full-metadata flag_full_metadata = true; @@ -820,25 +814,21 @@ int main(int argc, char *argv[]) /* Store the time when the backup started, so it can be included in the * snapshot name. */ time_t now; - struct tm time_buf_local, time_buf_utc; - char desc_buf[256]; time(&now); - localtime_r(&now, &time_buf_local); - gmtime_r(&now, &time_buf_utc); - strftime(desc_buf, sizeof(desc_buf), "%Y%m%dT%H%M%S", &time_buf_utc); + string timestamp + = TimeFormat::format(now, TimeFormat::FORMAT_FILENAME, true); /* Open the local database which tracks all objects that are stored * remotely, for efficient incrementals. Provide it with the name of this * snapshot. */ string database_path = localdb_dir + "/localdb.sqlite"; db = new LocalDb; - db->Open(database_path.c_str(), desc_buf, backup_scheme.c_str(), - snapshot_intent); + db->Open(database_path.c_str(), timestamp.c_str(), backup_scheme.c_str()); tss = new TarSegmentStore(remote, db); /* Initialize the stat cache, for skipping over unchanged files. */ - metawriter = new MetadataWriter(tss, localdb_dir.c_str(), desc_buf, + metawriter = new MetadataWriter(tss, localdb_dir.c_str(), timestamp.c_str(), backup_scheme.c_str()); for (int i = optind; i < argc; i++) { @@ -861,7 +851,8 @@ int main(int argc, char *argv[]) string checksum_filename = "snapshot-"; if (backup_scheme.size() > 0) checksum_filename += backup_scheme + "-"; - checksum_filename = checksum_filename + desc_buf + "." + csum_type + "sums"; + checksum_filename + = checksum_filename + timestamp + "." + csum_type + "sums"; RemoteFile *checksum_file = remote->alloc_file(checksum_filename, "meta"); FILE *checksums = fdopen(checksum_file->get_fd(), "w"); @@ -912,7 +903,7 @@ int main(int argc, char *argv[]) string desc_filename = "snapshot-"; if (backup_scheme.size() > 0) desc_filename += backup_scheme + "-"; - desc_filename = desc_filename + desc_buf + ".cumulus"; + desc_filename = desc_filename + timestamp + ".cumulus"; RemoteFile *descriptor_file = remote->alloc_file(desc_filename, "snapshots"); @@ -932,12 +923,11 @@ int main(int argc, char *argv[]) fprintf(descriptor, "Format: Cumulus Snapshot v0.11\n"); fprintf(descriptor, "Producer: Cumulus %s\n", cumulus_version); - strftime(desc_buf, sizeof(desc_buf), "%Y-%m-%d %H:%M:%S %z", - &time_buf_local); - fprintf(descriptor, "Date: %s\n", desc_buf); + string timestamp_local + = TimeFormat::format(now, TimeFormat::FORMAT_LOCALTIME, false); + fprintf(descriptor, "Date: %s\n", timestamp_local.c_str()); if (backup_scheme.size() > 0) fprintf(descriptor, "Scheme: %s\n", backup_scheme.c_str()); - fprintf(descriptor, "Backup-Intent: %g\n", snapshot_intent); fprintf(descriptor, "Root: %s\n", backup_root.c_str()); if (csum.size() > 0) {