FileSet="Catalog"
Schedule = "WeeklyCycleAfterBackup"
# This creates an ASCII copy of the catalog
- RunBeforeJob = "@scriptdir@/make_catalog_backup bacula bacula"
+ # WARNING!!! Passing the password via the command line is insecure.
+ # see comments in make_catalog_backup for details.
+ # Arguments to make_catalog_backup are:
+ # make_catalog_backup <database-name> <user-name> <password> <host>
+ RunBeforeJob = "@scriptdir@/make_catalog_backup @db_name@ @db_user@"
# This deletes the copy of the catalog
RunAfterJob = "@scriptdir@/delete_catalog_backup"
Write Bootstrap = "@working_dir@/BackupCatalog.bsr"
/*
* Strip path. If it doesn't succeed put it back. If
* it does, and there is a different link string,
- * attempt to strip the link. If it fails, but them
+ * attempt to strip the link. If it fails, back them
* both back.
+ * Don't strip symlinks.
* I.e. if either stripping fails don't strip anything.
*/
if (do_strip(ff_pkt->strip_path, ff_pkt->fname)) {
- if (ff_pkt->fname != ff_pkt->link) {
+ if (ff_pkt->type != FT_LNK && ff_pkt->fname != ff_pkt->link) {
pm_strcpy(ff_pkt->link_save, ff_pkt->link);
if (!do_strip(ff_pkt->strip_path, ff_pkt->link)) {
- strcpy(ff_pkt->link, ff_pkt->link_save);
- strcpy(ff_pkt->fname, ff_pkt->fname_save);
+ pm_strcpy(ff_pkt->link, ff_pkt->link_save);
+ pm_strcpy(ff_pkt->fname, ff_pkt->fname_save);
}
}
} else {
- strcpy(ff_pkt->fname, ff_pkt->fname_save);
+ pm_strcpy(ff_pkt->fname, ff_pkt->fname_save);
}
Dmsg2(200, "fname=%s stripped=%s\n", ff_pkt->fname_save, ff_pkt->fname);
}
if (!(ff_pkt->flags & FO_STRIPPATH) || ff_pkt->strip_path <= 0) {
return;
}
- strcpy(ff_pkt->fname, ff_pkt->fname_save);
- if (ff_pkt->fname != ff_pkt->link) {
- strcpy(ff_pkt->link, ff_pkt->link_save);
+ pm_strcpy(ff_pkt->fname, ff_pkt->fname_save);
+ if (ff_pkt->type != FT_LNK && ff_pkt->fname != ff_pkt->link) {
+ pm_strcpy(ff_pkt->link, ff_pkt->link_save);
}
}