Pbackup 3.1.9-1

Miscellaneous tools
Post Reply
Message
Author
User avatar
zigbert
Posts: 6621
Joined: Wed 29 Mar 2006, 18:13
Location: Valåmoen, Norway
Contact:

Pbackup 3.1.9-1

#1 Post by zigbert »

Pbackup ... one-button-backup


_______News_______________________________________________________________________
So, here it is - version 3.
After one year Pbackup has become nothing else but an ordinary backup system, - except the size.
A standard featured backup system in 30 kb. It's not too many of the kind.

Since last stable release (2.4.4), the major news is:
- Backup to FTP-server.
- Restore function.
- Wizard for setting up a backup.
- Free scheduling.
- Chain backups in gui-mode.
- Tweaked for multiuser support.
For more details, see complete changelog in the next post.

On the road to 3.0.0, I've not been alone. Special thanks to testers for suggestions and feedback. PaulBx1, Veronicathecow, GeoffS have been incredible helpful.
At the moment, there are not plans for new features, just to keep the code in shape. If we get a new gtkdialog, I guess there will be some gui improvements. But if you have any good ideas, I promise to listen. My main point with Pbackup is not to have an advance backup system, but a system for "everyone". You shouldn't start trembeling after looking at the main window. Backup is basic - let's keep it simple. One year - still one-button-backup

Sigmund Berglund


_______Features____________________________________________________________________
- 3 backup types (Backup recent files, Full backup, Sync)
- Save to CD / DVD / FTP / Harddisk / Flash ...
- Build backup jobs for scheduling or run manually
- Restore backup files
- Chain several backups
- Inspect - simulate backup
- Compress result
- Minor size and minor requirements (all in Puppy)
- language support
- Documentation and wizard


_______Install__________________________________________________________________________
- If running older Puppy version than 2.15, you'll need to install the new gtkdialog
- What about using this crap in another distro?
- see Pmirror for alternativ mirror utility.

Download
username: puppy
password: linux

Pbackup-3.1.9-1 (33 kb).


Image
Last edited by zigbert on Sun 11 Aug 2013, 19:37, edited 134 times in total.

User avatar
zigbert
Posts: 6621
Joined: Wed 29 Mar 2006, 18:13
Location: Valåmoen, Norway
Contact:

#2 Post by zigbert »

Changelog
____________________________________________________________________
Edit: 15. sept. 2006 - version 0.2
- Function to mirror 2 directories. Requires mirdir package (19kb) (pupget).
WARNING! Be careful with this function. It's only tested by me, and that is not enough to confirm it works perfect.
- Fix of date failure.
____________________________________________________________________
Edit: 17. sept. 2006 - version 0.3
- Burning to DVD.
- No limits with directory levels (thanks to Ted dog).
- Gui upgrade.
- Futher testing. Works stable for me. Please test.
____________________________________________________________________
Edit: 11. dec. 2006 - version 0.4
- Mirdir is seperated to own program - PuppyMirror.
- Cleaner look.
- Able to save files also to harddisk.
- Some minor bugfix.
____________________________________________________________________
Edit: 12. dec. version 0.4.1
- Easier interface
- 2 minor bugfix
____________________________________________________________________
Edit: 13. dec. version 0.4.2
- Added icon
- Small improvements
____________________________________________________________________
Edit: 19. dec. version 0.5
- possible to burn multisession (CD / DVD)
- possible to simulate CD-burn
- Backup to HD makes directory-tree (not dump all files in one dir)
- Cleaner gui when including sub-directories
____________________________________________________________________
Edit: 30. dec. version 0.6
- Mirror function - syncing directories / partitions. (complete internal function - NO need of MIRDIR)
- Quiet mode. Possible to run scheduled backups.
- More graphics. Now 1 big (72 pix) and 3 smaller icons (48 pix) instead of the old one - but still same size. (6 bits colordepth - still very nice after hard tweeking.) See picture.
- Heavy code-cleanup (same size - more features). The size of the script has had same size since version 0.3
- Better error-checking (but not complete)
- Bugfix: Calenderday
- Bugfix: Not write config when simulate burning
____________________________________________________________________
Edit: 31.dec. version 0.6.1
- Windows now matches fonts in the new 2.13 (Sorry - I forgot Embarassed )
____________________________________________________________________
Edit: 31.dec. version 0.6.2
- Bugfix: reporting after finished backup
- Bugfix: error: No DVD inserted
____________________________________________________________________
Edit: 1.jan. 2007 - version 0.6.3
- Bugfix: Save settings
____________________________________________________________________
Edit: 4.jan. 2007 - version 0.7
- Compress backup result.
- New box: Advanced options.
- Jouliet burning (optional).
- Option to write config file manualy.
- Auto upgrade of configs from earlier versions.
- Bugfix: Mirror all 3 backup directories.
- Bugfix: Change directories.
- Bugfix: Kill Rox-filer, eject disc.
- Bugfix: Multisession DVD starttrack.
____________________________________________________________________
edit 4.jan 2007 - version 0.7.1
- Bugfix: Backup to HD, no compression --> Problem when savedir is root of partition.
- Bugfix: Heavy output to terminal when backup.
____________________________________________________________________
edit 7.jan 2008 - version 0.8
- Option: Possible to have a seperate config-file when running quiet.
- Option: Follow symbolic link. In fact, earlier version didn't handle symlinks at all.
- Option: Set mountpoint to CD/DVD.
- Workaround: Multisession - Change settings between sessions.
- More error checking.
- Bugfix: Unstable mirror function (many small improvements).
- Bugfix: Version upgrade.
- Bugfix: Output to terminal in quiet mode.
____________________________________________________________________
Edit 9.jan 2007 - version 0.9
- Gui upgrade to GtkDialog.
- Speed up removing files from mirror.
- Backup now has same attributes as source (time, owner...).
- Days since last backup are at least set to 1. Two backups in one day is then possible.
- Bugfix: Mirror all 3 backup directories. (I thought I have fixed this before).
____________________________________________________________________
Edit 11.jan: version 0.9.1
- Minor GUI improvements.
- A sort of manual.
- Error msg: Jouliet error.
- Bugfix: Turn off "Follow symlink" prevent endless loop (symlink points back to backupdir (wine 09.2Cool).
- Bugfix: Show info file exit program on next command.
- Bugfix: Follow symlink = off --> Symlink will now be burned to CD/DVD.
- Bugfix: Change settings beetween sessions for DVD.
____________________________________________________________________
Edit 12.jan: version 0.9.2
- 'Error dialogbox' shows logfile for easier debugging.
- 'Finished dialogbox' gives option to not save updated settings to config file.
- Bugfix: Burn backup from non-unix filesystems.
- Bugfix: simulate = on - write config atfer burn only if media is CD.
- Bugfix: Gzip will overwrite files in existing tgz file. Will mostly occur when backup twice a day.
- Minor Bugfixes.
____________________________________________________________________
Edit 15.jan: version 0.9.3
- No output if quiet mode succeed. This prevent cron giving annoying message or mail when backup frequently.
- Bugfix: 'Follow Symlink' now works retroactive. Mirror will update all symlinks/files.
- Bugfix: Mirror = on. Delete outdated files with filenames containing 'spaces'
- Bugfix: Backup to HD, uncompressed. Symlinks in backup are no longer broken.
- Bugfix: Backup to HD, uncompressed. Symlink-dir can also be 'Followed'.
____________________________________________________________________
Edit 16.jan: version 0.9.4
- Delete trashfiles before backup. couln't get 'mv' to overwrite existing dirs.
- Error check: Is it possible to access mirror dir?
- Possible to enter date manually.
- Bugfix: Delete tgz-image when tmp dir is other than /tmp/.
- Bugfix: Close rox after simulated burning.
____________________________________________________________________
Edit 17.jan: version 0.9.5
- Bugfix: Backup to HD, compressed - *.tgz file was deleted after backup had finished. (Thanks to brad_chuck).
- Bugfix: Start program could fail if any config-value became equal to any config-description
- Bugfix: Now there is s an error msg 'No files to backup' also at compressed backup. No *.tgz, if no files to backup.
____________________________________________________________________
24. jan. version 1.8.0
- Flexible search for files
--> Not limited to 3 different dirs. Search as many as you like.
--> Narrow search of files (for instance your photos - *.jpg).
--> Exclude both files and directories from search.
- Upgraded Mirror
--> may use all search options, (also 'find name' and 'exclude')
- Option 'search only'
--> Inspect backup files before saving.
--> Builds symlinks in /tmp/searchresult/
- Schedule GUI.
--> Profiles for backup every minute, day, week.
--> Link to Gcrontab.
--> Start cron at boot.
- History log.
--> Every successful backup is logged to file /root/.puppybackup-history.
--> Shows in tab 'history'.
--> Button: 'Clear history'
- Function: 'Show default settings'.
- Bugfix: Handles empty directories over all.
- Still 20 kb.
____________________________________________________________________
29. jan. version 1.9.0
Startup info: 'Scheduled backup i active'.
Button: Get settings for quiet mode.
Bugfix: Max one crond in /etc/rc.d/rc.local.
Bugfix: Mirror with advanced search options.
Bugfix: Save content of 'exclude'.
____________________________________________________________________
31. jan. version 1.9.1
Bugfix: Include subdir in default search.
Bugfix: Do not write history when 'write settings to config'.
Bugfix: 'Search only' overrides all other options.
Bugfix: 'Search only' goes back to false atfer search.
Bugfix: Change Temp dir and mountpoint.
Bugfix: Date failures when mirror checkbox is turned on.
____________________________________________________________________
1. feb. version 1.9.2
Bugfix: Corrected syntax in history.
Bugfix: Mirror update. Problem with date setting.
Bugfix: Mirror removed files with " " (space) in name.
Bugfix: Mirror now removes several levels of empty dirs.
Bugfix: Prevent PuppyBackup to execute 2 backups at same time.
____________________________________________________________________
6. feb. version 1.9.3
Upgrade manual
Bugfix: 'Search only' doesn't overide 'mirror'.
Bugfix: Exclude files crashed mkisofs
Bugfix: Exclude files from backup when filenames contains spaces.
____________________________________________________________________
11. feb. version 1.9.4
Bugfix: Error: "Another PuppyBackup is already running".
____________________________________________________________________
15. feb. version 1.9.5
Bugfix: Error when trying to set date earlier than 1970.
Bugfix: Cut date-setting when making mirror.
Removed all internal icons, using only puppy builtin.
____________________________________________________________________
1. mar. version 1.9.6
- Gui upgrade. Now using gtkdialog3.
- Option: Should mirror contain all leading paths, or begin filestructure at selected directory.
- Option: Keep trashfiles from mirror.
- Option: Write history log.
- Option: Allow automounting.
- Warning: Files in mirror is newer than source.
- Warning: Risk when 'leading path' is activated.
- Warning: When trying to copy into /mnt/ without a mounted disk.
- Error: Can't burn mirror.
- Minor improvements
- Bugfix: Start scheduling with new settings missed a button in dialog.
- Bugfix: Start scheduling didn't show up in infofield at once.
____________________________________________________________________
2. mar. version 1.9.7
- Help-file improvements.
- Bugfix: Warning, "Leading path is deactivated".
____________________________________________________________________
9. mar. version 2.0.0
- Help file improvements (thanks a lot to PaulBx1).
- Some gui improvements.
- Bugfix: Mirror didn't handle symlink directories.
- Bugfix: Compressed backup to harddisk.
____________________________________________________________________
11. apr. version 2.1.0
- The biggest news is the option to build and save backup jobs. Then later, run them manually or at a specified time-schedule. Also, you can set up several jobs at the same time, and Pbackup will chain all jobs to one operation. It is also possible to chain jobs manualy. (pbackup -q "job1" "job2")
- Inspect mode. See what Pbackup intend to do witout doing a real backup.
- More advanced mirrorfunction. Mirdir co-operates with builtin mirror. Gives faster and more accurate mirrors (feature to check all attributes, not only ctime as before).
- Full backup is now available. Date is set to 1/1/1970, and all files in specified dirs are saved.
- Alternative save-to-date when backup recent files. Default is still today. Useful to split heavy backups.
- Mirror trash can be saved in safe place. Default is inside /tmp/ and will be deleted at boot.
- Gui has been simplyfied.
____________________________________________________________________
6. may. version 2.2.0
- Language support
- Mirror is now changed to SYNC. This because of new feature to choose what to do when file in save-to dir is newer than save-from dir. Sync is also a more common term.
- Mirdir is removed yet another time. It is just not flexible. The internal mirrorfunction now compare attributes, and has got a real speed-up.
- Syncing files to different filesystem should now mostly work. There is an optional warning if system detects different filesystems.
- Menus
- Helpfile upgraded
- Option: Update symlink. Symlinks in source and target is not equal, but both are now working. If restoring links, they will only work if this option is set to false. So, False for backup, True for syncronize. Not working retrospective. The workaround is to first 'Follow symlink', then not. This will update all symlinks.
- Finish_dialog is cleaned up.
- History dialog.
- Possible to set Filemanager. Default is 'rox'
- Reset setting: If gone lost in settings, get back default.
- Enviromental $HOME is used overall. Possible to run as other users than Root.
- Bugfixes
____________________________________________________________________
8. may. version 2.0.1
Bugfix: Backup to HD, uncompressed, fails when filename contain sapces.
____________________________________________________________________
9. may. version 2.3.0
- New file/dir-chooser dialog (gtk2)
- Dialog to choose which file you want to remove from list ('save-from' and 'exclude'). Also an option to remove all items from list.
- Bugfix: Backup to HD, uncompressed, fails when filename contain sapces.
- Bugfix: Troubles with Sync, and symbolic links.
- Bugfix: Troubles when 'Save-to' (HD) points to a directory with spaces in name.
- Bugfix: About-dialog didn't find about-info after changing language.
____________________________________________________________________
9. may. version 2.3.1
- Bugfix: Syncing several directories in one operation
- Renamed menuitem 'Save job' to 'New job'
____________________________________________________________________
9. may. version 2.3.2
- The xdialog logbox has become a bottleneck. Now redesigned for speed-up.
____________________________________________________________________
9. may. version 2.3.3
- When running inspect mode, 'From date' should't change.
- When running inspect mode, the finish dialog didn't show inspected files. (They were only shown in logbox)
____________________________________________________________________
12. may. version 2.3.4
- Click on job in 'jobfield' to load its settings
- default 'save from' changed from /root/ to /root/my-documents/
- Added menuitem 'Save job' - correspond to 'New job'.
- Show default command string when choosing filemanager. Clicking OK with a empty entry, and you wont have any filemanager linked to Pbackup.
- checkbox: Save settings and status for job 'name'
____________________________________________________________________
12. may. version 2.3.5
- Bugfix: New job / Save job didn't make a job (bug from version 2.3.4)
____________________________________________________________________
16. may. version 2.4.0
- The long awaited Kill-process-button has arrived.
- Using only gtk2 stock icons
- Temporary directory is moved from backup-tab to configure-menu.
- Quit button - Closing program via JWM doesn't kill process???
- Bugfix: Closing file/directory chooser from windowmanager failed when target should be dir.
____________________________________________________________________
01. july. version 2.4.1
- Stable release
- French translation
- Minor improvements
____________________________________________________________________
02. july. version 2.4.2
- Bugfix: choosing HD-path for backup target.
____________________________________________________________________
03. july. version 2.4.3
- Removing FTP from menulist. It will come back later.
____________________________________________________________________
04. july. version 2.4.4
- Bugfix: If not defined name of new job, it used active job.
____________________________________________________________________
15. july. version 2.5.0
- Restore - Browse or search for files in history log.
- Backup to FTP server.
- Chain jobs - Combines several jobs.
- Recovery wizard
- 'Save to' field can hold both directories and files. Running Sync with defined file gives error.
- Removed field for active job. Icon (red ball) in job-list instead. Menuitem: 'View active job'.
- Changed name of backup-dir to sort better, and to include time. Now 'YYYY-MM-DD_HH:MM:SS'.
- Redesinged several dialogs.
- Splash window.
- Do not overwrite default job when upgrading Pbackup.
- Some speed-up when rendering main window.
- Dependency-check before using cdrecord, mkisofs, growisofs, curl, wget.
- Added 'Cancel button' in dialog 'remove from list'.
- More complete info during compressed backup.
- Bugfix: remove image (/tmp/pupbck.img) when temp storage get full, and shows error.
- Bugfix: Show calender for 'backup to date'.
- Bugfix: Delete temporary *.tgz file after backup.
____________________________________________________________________
20. july. version 2.5.1
- wget is not longer needed. Curl is used for both upload and download.
- Bugfix: Copying files to VFAT. (thanks to GeoffS)
- Bugfix: Automount when syncing.
- Bugfix: Default value of 'Act on files recent created or changed in Save-to'
- Bugfix: Automount = ON: Don't unmount HD if it was mounted when Backup started. (thanks to GeoffS).
- Bugfix: Be sure FTP-directory ends with a /.
____________________________________________________________________
23. july. version 2.5.2
- Bugfix: Error message if curl can't find path on ftp server.
- Bugfix: Automount - Let's try once more to get this working.
____________________________________________________________________
29. july. version 2.6.0
- New dialog for scheduling job. Presets and FREE scheduling.
- Redesigned 'Recovery'. It now points to 'Pudd'
- Message: Overwrite jobs?
- Moved 'about' info from its own dialog to helpfile.
- Check if another instance of puppy exist. View dialog if so.
- if no changes since last 'backup recent...', status is set to 'Status quo' instead of 'Error'
- Bugfix: Check if jobname is valid when running quiet mode.
- Bugfix: Complete info to history log after quiet mode.
- Bugfix: Cancel-button in dialog 'choose jobs to Chain'.
____________________________________________________________________
10. august. version 2.7.0
- General facelift of dialogs. Unify the look of them.
- Allow several instances of Pbackup to run at the same time. (thanks to MU - Mark Ulrich)
- Wizard to create new job.
- Should now work if user is not 'root' (not tested).
- Localize the few Xdialog boxes that are left.
- Updated some of the helpfile.
- New and reorganized menues
- Probedisk not longer required. (Thanks to Dougal and Barry for code.)
- Move locals from /root/ to /usr/local/pbackup. Locals are static, and has nothing to do in $HOME
- Better autodetection of default CD-writer
- Bugfix: Excluded files.
- Bugfix: Text in dialogbox 'Set filemanager'.
- Bugfix: Syncfiles are not to be restored.
- Bugfix: Don't save to pbackuprc after quiet mode. This keeps one-button-backup when scheduling.
- Bugfix: Set schedule built strange empty files in /var/spool/cron/crontabs/root/.
____________________________________________________________________
17. august. version 2.9.0
- Some upgrades in helpfile and LANGUAGE file.
- Updated Norwegian translation.
- Bugfix: Give job a name after a simple wizard.
- Bugfix: Complete language-change at once.
____________________________________________________________________
22. august. version 2.9.1
- Check if Pbackup has permission to start cron. --> error.
- Doesn't use 'kill' to get rid of splash. It exits itself.
- URL is selectable in about-box.
- gxmessage not longer required. Helpfile use installed browser instead.
- Script-files doesn't need to be in /usr/local/pbackup.
- Added GPL license info.
- Bugfix: Better multiuser support. No files needs root-access. (thanks to plinej)
- Bugfix: Norwegian wizard missed when showing backup options.
- Bugfix: Errorcheck 'Can't access backupdirectory'.
- Bugfix: If 'go back' after error/warning, dirnames with spaces shows corrupted.
- Bugfix: Kill splash when running Pbackup in distro not using busybox.
- Bugfix: 'quit' killed all instances of Pbackup.
- Bugfix: Select schedule after wizard advanced.
____________________________________________________________________
6. september. version 3.0.0
- Not delete active job.
- Moved GPL-text from helpfile to 'about'.
____________________________________________________________________
7. november. version 3.0.1
- Refined function to select files/dirs to include/exclude.
- Japanese translation. Thanks to Jimmy Lu (nyu).
- Changed 'find'-syntax from -ctime to -mtime. More compatible with other filesystems (thanks to Geoffs)
- External cron-editor is changed from gcrontab to Pschedule.
- Got rid of some messages to terminal when running quiet mode.
- Moved crond from /etc/rc.d/rc.local to $HOME/.xinitrc to coexist with Pscedule and Pdrive_deamon.
- Bugfix: Radiobutton to select 'schedule weekly' missed time in description.
- Bugfix: Be sure item in crontabs is owned by Pbackup before spesify schedule.
- Minor code cleanup.
____________________________________________________________________
24. december. version 3.0.2
- Improved code for setting html-viewer (Thanks to Dougal)
- Moved translators and contributers to 'about'
- Autoselect button in dialogs.
- Pbackup enviroment variables is put first in /usr/local/pbackup.
- Crond is now autostarted from ~/Startup, instead of ~/.xinitrc.
- Bugfix: accept symlinks to dir for choosing temporary storage.
- Bugfix: remove item from 'save-from' doesn't accept spaces in filename.
- Bugfix: symlink to dir is not accepted by 'sync' function
- Bugfix: restore file from CD/DVD.
- Bugfix: resore all in backup.
____________________________________________________________________
24. january 2008 - version 3.0.3
- Use enviromental variable LANG to autodetect language. (Thanks to MU)
- Bugfix: Allow special chars in input-dialog.
- Bugfix: Always show correct filename (with space) in 'save from'.
____________________________________________________________________
06. May 2008 - version 3.1.0
- Chains are now editable.
- Some enhancements in restore/history gui.
- Change main settings without rerender window.
- Added parameters -v (version), -h --help and -r (reset).
- Code of dialog boxes are now put outside main func-file to its own files.
- 'Job' has been renamed to 'Task'.
- Use defaulthtmlviewer as default help-file-viewer.
- Sort checkbox list (add tasks to chain).
- Do not show chains in checkbox list (add tasks to chain).
- Bugfix: Cron-check in /root/Startup to avoid several running instances of crond after restart X.
- Bugfix: Remove from list (minus-button) checks for only whole words.
- Bugfix: Output to terminal when running backups in chain in quiet mode.
- Bugfix: Show schedule-dialog in the end of advanced wizard.
- Bugfix: Sort content of 'delete-list'.
- Bugfix: Visible of 'alternative save-to date' when moving mode from 'sync' to 'backup recent'.
- Bugfix: New backup.desktop file (Thanks to disciple)
____________________________________________________________________
18. May 2008 - version 3.1.1
- Cleanup output to log during sync.
- 'Kill backup process' has become 'Emergency STOP'.
- Bugfix: Exclude from backup failed (thanks to dcbevins).
- Bugfix: Sync failed when more then 1 directory in 'save from'.
____________________________________________________________________
24. Aug 2008 - version 3.1.2
- Support cdrkit or cdrtools
- Moved workdir from /tmp/ to $HOME/.pbackup/tmp/
- Bugfix: Emergency STOP worked only partly
- Bugfix: Wizard didn't set scheduling of task.
- Bugfix: Redirection of 'cat' in Puppy 4.1.
____________________________________________________________________
1. Sept. 2008 - version 3.1.3
- Some code cleanups
- Add info imediatly to log. - to show progress when working with huge amount of datas.
- Improved CD burning command.
- Bugfix: Installation failed
- Bugfix: Sync didn't remove files in target dir if removed in source.
- Bugfix: Some values in profile were not saved in profile.
- Bugfix: Show full log-info in finish window.
- Bugfix: Emergency stop
____________________________________________________________________
20. Sept. 2008 - version 3.1.4
- Reload CD/DVD disc before finish dialog to ensure fresh filesystem status when mounting (Puppy 4.1 issue).
- Bugfix: Kill func_logbox after backup.
____________________________________________________________________
25. Dec. 2008 - version 3.1.5
- Spanish translation (thanks to Pedro Worcel (droope))
- Bugfix: running with -q switch always reported error (thanks to PaulBx1)
- Bugfix: TMPDIR can store nothing (thanks to kuapao)
- Bugfix: setting TMPDIR needed restart of Pbackup to take effect.
____________________________________________________________________
2. May. 2009 - version 3.1.6
- Autodetection of all languages in ISO 639-1.
- Bugfix: kill pid when close window.
- Bugfix: better text-rendering in logbox when burning.
____________________________________________________________________
28. Jun. 2009 - version 3.1.7
- Bugfix: increased startup sleep value.
- Bugfix: App killed at startup if xwinifo misses. (thanks to sketchman)
- Bugfix: Use english helpfile if active language lacks help.
____________________________________________________________________
3. Aug. 2009 - version 3.1.8
- Bugfix: Restore (thanks to bkenn)
- Bugfix: pbackup -q fails with the loop in /usr/local/bin/pbackup.
- Bugfix: ftp-window didn't show up if any ftp-variable hold null. (thanks to kuapao)
- Bugfix: Ensure ftp prefix ftp://. (thanks to kuapao)
____________________________________________________________________
30. Aug. 2011 - version 3.1.9
- Bugfix: return value of fileselect dialog - gtkdialog 0.7.21 (thanks to BarryK)
Last edited by zigbert on Tue 30 Aug 2011, 17:20, edited 51 times in total.

User avatar
zigbert
Posts: 6621
Joined: Wed 29 Mar 2006, 18:13
Location: Valåmoen, Norway
Contact:

#3 Post by zigbert »

mkisofs seems to have a limit to build dir-structure of max 6 levels. This is a problem for both bk2cd and puppybackup. This is an important issue with priority (I need this feature).

When upgrading to Puppy 2.10 I noticed the mirdir (19k) package. It mirrors 2 directories. This should be integrated into the backup script, but it will need a smart reconstruction of the gui. It MUST be simple to do backup. Mirdir itself seems to be very simple, but no gui.
Last edited by zigbert on Sat 30 Dec 2006, 17:56, edited 1 time in total.

User avatar
Ted Dog
Posts: 3965
Joined: Wed 14 Sep 2005, 02:35
Location: Heart of Texas

my mini script. for DVD's

#4 Post by Ted Dog »

Code: Select all

#!/bin/sh
rm /etc/.XLOADED
for ONESFS in `ls -1 /initrd/pup_rw/*.sfs | tr "\n" " "`
  do
   REMSFS="$REMSFS -x $ONESFS"
  done
MYDATE="`date "+%Y-%m-%d-%H-%M"`" #this will become the folder name on cd.
touch -c /.badfolders #update modifytime, so will get saved.
growisofs -M /dev/dvd -D -R -new-dir-mode 0755 -graft-points -x /initrd/pup_rw/tmp $REMSFS -x /initrd/pup_rw/proc -x /initrd/pup_rw/var -x /initrd/pup_rw/initrd -x /initrd/pup_rw/mnt ${MYDATE}=/initrd/pup_rw 
You need to use the -D for deeper than 6 level directories

User avatar
zigbert
Posts: 6621
Joined: Wed 29 Mar 2006, 18:13
Location: Valåmoen, Norway
Contact:

#5 Post by zigbert »

Ted dog. Thanks for knowledge.

I have just uploaded version 0.2 with possibility to mirror directories / disks. Right now it's bedtime, so I will wait before I look in detail at your growisofs code. Puppybackup uses mkisofs, and that is maybe a bad choice. Sleep well.
But once again, I'm very thankful.

Sigmund

User avatar
zigbert
Posts: 6621
Joined: Wed 29 Mar 2006, 18:13
Location: Valåmoen, Norway
Contact:

#6 Post by zigbert »

Version 0.3 is uploaded. See main post.

User avatar
zigbert
Posts: 6621
Joined: Wed 29 Mar 2006, 18:13
Location: Valåmoen, Norway
Contact:

#7 Post by zigbert »

I have made a seperate gui for mirdir - PuppyMirror http://www.murga-linux.com/puppy/viewtopic.php?t=13606

The mirdir function is removed from PuppyBackup 0.4 to make a cleaner look. - picture in main post. But there is also new functionality...You can save recent files to CD / DVD, but also to a given directory on Harddisk.

Download link in main post.

User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#8 Post by MU »

Nice.
I thought of adding a selfwritten wxBasic backup-program to Muppy 007, but I think your program is more effective, so I'll add that.

http://www.freewebs.com/markulrich/ (Fastbackup 03)
It also would need an update, so it would save me time to use your solution :)

Mark

User avatar
zigbert
Posts: 6621
Joined: Wed 29 Mar 2006, 18:13
Location: Valåmoen, Norway
Contact:

#9 Post by zigbert »

:P
MU you have helped me SO many times.
Glad I can give something back.
That is community. isn't it?

User avatar
zigbert
Posts: 6621
Joined: Wed 29 Mar 2006, 18:13
Location: Valåmoen, Norway
Contact:

#10 Post by zigbert »

Version 0.4.1 is uploaded. See main post.

Mostly GUI stuff. Big cleanup and an easier interface. (pic in main post)

It's still Xdialog. Not reached the gtk-stage yet. Maybe it never will. What do YOU think?.

Sigmund

User avatar
zigbert
Posts: 6621
Joined: Wed 29 Mar 2006, 18:13
Location: Valåmoen, Norway
Contact:

#11 Post by zigbert »

Version 0.4.2 is ready for download in main post.

- Added icon (20 kb - that costs......Is it worth it?)
- Small improvements

I think this edition will stand for a while. But who knows? Another sleepless night, and I'm back again.

User avatar
zigbert
Posts: 6621
Joined: Wed 29 Mar 2006, 18:13
Location: Valåmoen, Norway
Contact:

#12 Post by zigbert »

Version 0.5, see main post

It is now ready for multisession. It is not default, because of higer security risk. But the user should choose how to backup, not me. :oops:

The Backup-to-harddisk is now making a complete file-tree of choosen files. It is first now REALLY working :oops:

Else, let's be happy :lol:

User avatar
zigbert
Posts: 6621
Joined: Wed 29 Mar 2006, 18:13
Location: Valåmoen, Norway
Contact:

#13 Post by zigbert »

PuppyBackup
Version 0.6 is uploaded
See main post


There are some issues in PuppyBackup I need help with.
If you have the skills, please let me now.

:?: burning does not support Jouliet.
Problem is that mkisofs renames files to support Jouliet. If you are unlucky, then you will get 2 files with similar name, mkisofs is then unable to sort and fails to create an image.
:?: '-o *.img' (mkisofs options) is not allowed in growisofs.
How to set work directory for growisofs. By default Growisofs uses /tmp/ to hold image-data. The internal Puppy filesystem is often small, and burning DVD's can give troubles.
:?: I want to read a textfile line by line, inside a loop. Every time the loop is running it should catch the next line in the textfile.
I see 2 defferent ways of doing it
1. Grep anything, and it will find first line. Then remove first line.
'Cut' can remove first line, but want work in a loop. Only first time loop is running, cut is working.
'sed' is working realtime, but I want sed to use a variable, and my variable holds '/', and sed doesn't like that. Renaming content of variables, then sed, then rename back is slow.
2. Another solution is to catch a specific line in the textfile. But I havent found any commands for this.


Help a newbie :D :D :D

Thanks, Sigmund

User avatar
zigbert
Posts: 6621
Joined: Wed 29 Mar 2006, 18:13
Location: Valåmoen, Norway
Contact:

#14 Post by zigbert »

Puppybackup 0.6.2 - some bugfixes

shankargopal
Posts: 295
Joined: Sat 03 Dec 2005, 11:30

#15 Post by shankargopal »

An additional possible use of this system for those of us who use flash drives...

For about a year now I've been using my own rough script (with rsync) to regularly mirror (every minute) some of my files on a backup file on the hard drive when using my pen drive. I still get the portability of the flash drive (which I use on six or seven different computers) while having this system running on two of those six computers to keep a backup. Since many of these computers don't have proper UPS's (and besides I have had the rare experience of a crash with Puppy), this has saved me multiple times when savepuppyd has not yet saved files to the flash drive, but the computer has crashed or lost power. The script auto-detects whether an image file exists to mirror to and starts up automatically from rc.local.

Anyway, just as a note to say that Puppymirror / PuppyBackup - which look great - could be used for similar functionality by those of us who have pen drives... believe me, it has saved my life...

User avatar
Gn2
Posts: 943
Joined: Mon 16 Oct 2006, 05:33
Location: virtual - Veni vidi, nihil est adpulerit

#16 Post by Gn2 »

A suggestion - Use cron to sync or backup as needed.
No need to backup all - just the changes.
Use (diff) in any script.

User avatar
zigbert
Posts: 6621
Joined: Wed 29 Mar 2006, 18:13
Location: Valåmoen, Norway
Contact:

#17 Post by zigbert »

Thanks for info, shankargopal.
Your methode sounds interesting, and I'll put it into the manual. (will be made some time before 1.0).

But I wonder if PuppyBackups filetree fits your needs. PuppyBackup with mirrorfunction makes the path '/any_savepath/mirrordir1/*'. The mirrordir directory are made, so user knows that this is not original files. In your case maybe the mirrordir directory will come in your way. Maybe it should not been there at all.

shankargopal
Posts: 295
Joined: Sat 03 Dec 2005, 11:30

#18 Post by shankargopal »

zigbert,

I'm a little confused - I haven't actually used either PuppyBackup or PuppyMirror, preferring to stick for the moment to my script. So not sure if that directory would get in the way or not - though I don't see why it should. My method is basically this:

1. On the systems where I want to back up, I create an image file with an ext2 filesystem (named pupback.bak) on a suitable partition.
2. Run small script at start up to check all possible hard drive partitions for such an image file.
3. If such an image file exists, mount it every xx seconds (after an initial delay to give possibility of restoring backup if need be) and rsync it with certain directories as specified in a config file.
4. Ensure during shutdown that a final mirror is done.

That's it, really. I can post my makeshift script if you'd like, though I'm embarassed at showing it to any of y'all... :)

User avatar
zigbert
Posts: 6621
Joined: Wed 29 Mar 2006, 18:13
Location: Valåmoen, Norway
Contact:

#19 Post by zigbert »

shankargopal

If I understand you right, we are talking about a kind of "realtime" backup. Every backup system should have that feature, shouldn't it? :D In basic, that is not too difficult to put into existing PuppyBackup. The challenge is more how to set things up in existing GUI. We are now talking about a mix of PuppyBackup and crontab, and I try to keep focus on an easy-to-use backup. But in some future, like a flash from nowhere, everything seems clear. (Or, the other way - someboby posts a brilliant soultion on the Puppy forum) :wink:

Please show your script, show all of them...feedback is how we learn. Since my script can't do this task, your script could be a solution for others, or be an example of how to expand usage of PuppyBackup. That could be a part of the coming manual.

shankargopal
Posts: 295
Joined: Sat 03 Dec 2005, 11:30

#20 Post by shankargopal »

Sigh, here it is...

The main script that does the backing up - doesn't use cron, just sleeps for 60 seconds between back ups - is below.

Code: Select all

#!/bin/bash
if [ ! -f /root/.PUPBKDRV ]; then
	echo "ERROR. Could not locate .PUPBKDRV"
else
	COUNT=0
	while [ 1 -eq 1 ]; do
	# This if statement allows calling program to specify an initial delay or have this be a "final" run
	# i.e. just one run and then exit
	if [ "$COUNT" -eq 0 ] && [ "$1" != "" ]; then
		if [ $1 != "final" ]; then
				sleep $1
		else
			echo "Final backup running..."
		fi
	else
		sleep 60
	fi
	echo junga > /tmp/backup.running
	BACKPART="`cat /root/.PUPBKDRV`"
	BACKPARTFS="`probepart | grep $BACKPART | cut -f 2 -d "|"`"
	if [ ! $BACKPARTFS = "" ]; then
		[ ! -e /mnt/pupback ] && mkdir /mnt/pupback
		MOUNTED="`mount | grep $BACKPART | cut -f 3 -d " "`"
		if [ "$MOUNTED" = "" ]; then
			mount -t $BACKPARTFS $BACKPART /mnt/pupback
			if [ ! $? -eq 0 ]; then
				echo "Failed to mount backup partition"
				exit
			fi
			MOUNTED="/mnt/pupback"
		fi
		[ ! -e /mnt/backdatafile ] && mkdir /mnt/backdatafile
		mount -o loop -t ext2 $MOUNTED/pupback.bak /mnt/backdatafile 
		if [ $? -eq 0 ]; then
			echo "+++++++++++++++++++++++++++"
			echo "Starting Backup at"
			date
			DIRS="`cat /root/.BACKDIRS | tr "\n" " "`"
			if [ ! "$DIRS" = "" ]; then
				for DIR in $DIRS; do
					ACTDIR="`echo $DIR | sed -r "s/^\///" | sed -r "s/\/$//"`"
					if [ ! -e /mnt/backdatafile/$ACTDIR ]; then
						PATHSPLIT="`echo $ACTDIR | sed -r "s/\// /g"`"
						TOTPATH=""
						for PATHS in $PATHSPLIT; do
							TOTPATH="$TOTPATH/$PATHS"
							mkdir /mnt/backdatafile/$TOTPATH
						done
					fi 
					rsync -a -v --delete /$ACTDIR/ /mnt/backdatafile/$ACTDIR/
				done
			else
				echo "Can't find /root/.BACKDIRS"
			fi
			sync
			umount /mnt/backdatafile
			sleep 3
			[ "$MOUNTED" = "/mnt/pupback" ] && umount /mnt/pupback
		else
			echo "Could not mount backup file"
		fi
	else
			echo "Could not locate backup partition"
	fi
	rm /tmp/backup.running
	echo "==========================="
	let "COUNT+=1"
	if [ $1 = "final" ]; then
		exit
	fi
	done
fi
This script is called from this smaller script, which is called from rc.local on startup:

Code: Select all

#!/bin/bash
POSSPART=`probepart | grep --extended-regexp "vfat|msdos|ext2|ext3|ntfs" | grep --extended-regexp "hda|sda" | cut -f 1 -d "|" | tr "\n" " "`
if [ ! "$POSSPART" = "" ];then
	echo "Searching for pupback.bak on $POSSPART"
	killall pupbacker.sh 2> /dev/null
	for PARTI in $POSSPART; do
	    echo "Checking on $PARTI..."
	    if [ -e /mnt/pupback ]; then
			umount /mnt/pupback 2> /dev/null
		else
			cd /mnt
			mkdir pupback
		fi
		PARTFS=`probepart | grep $PARTI | cut -f 2 -d "|"`
		mount -t $PARTFS $PARTI /mnt/pupback
		if [ $? -eq 0 ]; then
				if [ -e /mnt/pupback/pupback.bak ]; then
					echo "Detected pupback.bak on $PARTI"
					echo -n "Checking if pupback.bak can be mounted..."
					if [ -e /mnt/backdatafile ]; then
						umount /mnt/backdatafile 2> /dev/null
					else
						cd /mnt
						mkdir backdatafile
					fi
					mount -t ext2 -o loop /mnt/pupback/pupback.bak /mnt/backdatafile
					if [ $? -eq 0 ]; then
						echo "success"
						umount /mnt/backdatafile 
						umount /mnt/pupback 
						echo $PARTI > /root/.PUPBKDRV
						echo "Starting PupBacker..."
						/root/Software/pupbacker.sh 300 > /root/Software/backup.log 2> /root/Software/backup.log &
						echo "YOU HAVE FIVE MINUTES TO RESTORE ANY BACKUP.TO GET MORE TIME, KILL pupbacker.sh"
						exit
					else 
						echo "FAILED to mount pupback.bak."
						umount /mnt/backdatafile
						umount /mnt/pupback
					fi
		      fi
			umount /mnt/pupback
		fi
	done
	echo "Failed to find pupback.bak"
	
else
	echo "Could not find any suitable partitions for backups"
fi
Finally, Ihave edited rc.shutdown to check if pupbacker is running, and if so to wait until it completes, or else to call "pupbacker.sh final".

I know there are a lot of hamhanded bits in both scripts, but please note I was writing with a lot of inexperience... this was almost a year ago.

Post Reply