<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Backup on Michael’s Domain</title><link>https://jeltsch.org/en/tags/backup/</link><description>Recent content in Backup on Michael’s Domain</description><generator>Hugo</generator><language>en-us</language><copyright>Copyright © 2002 - 2026 Michael Jeltsch.</copyright><lastBuildDate>Fri, 24 Jul 2026 00:18:18 +0300</lastBuildDate><atom:link href="https://jeltsch.org/en/tags/backup/index.xml" rel="self" type="application/rss+xml"/><item><title>Backing up DVDs</title><link>https://jeltsch.org/en/dvdbackup/</link><pubDate>Sat, 09 Aug 2025 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/dvdbackup/</guid><description>&lt;p&gt;DVD ripping is one thing (and 
 &lt;a href="https://handbrake.fr/" target="_blank" rel="noopener noreferrer nofollow"&gt;Handbrake&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 is the tool I have been mostly using for that). But sometimes you want to just copy the whole DVD to your hard drive. On Ubuntu Linux, my preferred software for this is 
 &lt;a href="https://dvdbackup.sourceforge.net/" target="_blank" rel="noopener noreferrer nofollow"&gt;dvdbackup&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>BackupPC and Macs</title><link>https://jeltsch.org/en/backuppc_and_macs/</link><pubDate>Wed, 13 Apr 2016 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/backuppc_and_macs/</guid><description>&lt;p&gt;I myself have been using the backup software 
 &lt;a href="http://backuppc.sourceforge.net/" target="_blank" rel="noopener noreferrer nofollow"&gt;BackupPC&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 for almost a decade, and I started to backup our lab computers to a central backup server about two years ago. BackupPC supports deduplication and therefore much data can be stored on a couple of 2 TB drives.BackupPC supports many protocols (smb, ftp, tar/rsync via ssh), but we mostly use rsync via ssh. The data is not encrypted before the backup. Strangely not even the upcoming version 4 will support pre-egression encryption. However, we store the backup on an encrypted volume. That way it is at least protected if the backup server is stolen. And during transit, the data is protected by ssh. However, the system is not 
 &lt;a href="https://en.wikipedia.org/wiki/Trust_no_one_%28Internet_security%29" target="_blank" rel="noopener noreferrer nofollow"&gt;TNO&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 (&amp;ldquo;trust no-one&amp;rdquo;), since I (as the backupc administrator) can access the files. When using Linux, one feasible method would be to encrypt the user&amp;rsquo;s home directory using 
 &lt;a href="http://ecryptfs.org/" target="_blank" rel="noopener noreferrer nofollow"&gt;eCryptFS&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 (which is an inbuilt option when creating users on 
 &lt;a href="http://www.ubuntu.com/" target="_blank" rel="noopener noreferrer nofollow"&gt;Ubuntu&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
) and then backup the /home/.ecryptfs directory instead of the users home directory. However, recovery would be much more of a problem. You would be able to browse the diectory structure and files of the backup, but the filenames would be meaningless since they are also encrypted in the process.There is one peculiarity in backing up Mac OSX machines: BackupPC normally connects as root via ssh into the client computer and executes the rsync backup command. In order to make this possible on university-managed Mac OSX computers, we had to create a dedicated user (&amp;ldquo;backuppc&amp;rdquo;) on the client machines and allow for this user the execution of rsync with root privileges, which is done by adding this line in the /etc/sudoers file:&lt;code&gt;backuppc ALL=NOPASSWD: /usr/bin/rsync&lt;/code&gt;. Then we have to change the ssh/rsync command for the Mac client on the backuppc server changing &amp;ldquo;root&amp;rdquo; into &amp;ldquo;backuppc&amp;rdquo;.&lt;/p&gt;</description></item><item><title>How to back up hidden files</title><link>https://jeltsch.org/en/how_to_back_up_hidden_files/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_back_up_hidden_files/</guid><description>&lt;p&gt;&lt;code&gt;tar cvf backupfile.tar .[a-zA-Z0-9]*&lt;/code&gt;Any better ideas? This command requires that the dot is followed by an alphanumerical character. Which is usually the case for the hidden files in the user&amp;rsquo;s home folder.&lt;/p&gt;</description></item><item><title>Backup your home directory using tar</title><link>https://jeltsch.org/en/backup_your_home_directory_using_tar/</link><pubDate>Thu, 16 Nov 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/backup_your_home_directory_using_tar/</guid><description>&lt;p&gt;As root go to /home directory and execute the command:&lt;code&gt;tar -czvf pathto/archive.tar.gz username&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Adding a new user to MySQL and other basic mysql commands</title><link>https://jeltsch.org/en/adding_a_new_user_to_mysql_and_other_basic_mysql_commands/</link><pubDate>Mon, 18 Sep 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/adding_a_new_user_to_mysql_and_other_basic_mysql_commands/</guid><description>&lt;p&gt;Crontab entry to backup all mysql databases to a file every midnight:&lt;code&gt;0 0 * * * mysqldump -u mjeltsch -h localhost --all-databases | gzip -9 &amp;gt; /home/mjeltsch/Documents/mysqldump.gz &amp;gt; /dev/null&lt;/code&gt;Granting privileges to users connecting from localhost:&lt;code&gt;GRANT ALL PRIVILEGES ON *.* TO 'michael'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;&lt;/code&gt;Granting privileges to users connecting from everywhere:&lt;code&gt;GRANT ALL PRIVILEGES ON *.* TO 'michael'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;&lt;/code&gt;Show all available databases:&lt;code&gt;SHOW DATABASES;&lt;/code&gt;Show all entries of the table &amp;ldquo;users&amp;rdquo;:SELECT * FROM users;Load database &amp;ldquo;phpgedview&amp;rdquo;:USE phpgedview;Create a new database named &amp;ldquo;phpgedview&amp;rdquo;:CREATE DATABASE phpgedview;Delete the database named &amp;ldquo;phpgedview&amp;rdquo;:DROP DATABASE phpgedview;Start mysql client as user michael and user database &amp;ldquo;phpgedview&amp;rdquo;:mysql &amp;ndash;user=michael -p phpgedviewDelete the user &amp;ldquo;test&amp;rdquo;:mysql&amp;gt; use mysql;mysql&amp;gt; delete from user where user=&amp;lsquo;test&amp;rsquo;;mysql&amp;gt; FLUSH PRIVILEGES;Changing the password for the user phpgedview being user root (this works also for changing the password for root):/usr/bin/mysql -u root -pSET PASSWORD FOR phpgedview@&amp;ldquo;localhost&amp;rdquo; = PASSWORD(&amp;lsquo;NewPassWord&amp;rsquo;);After installing the Suse rpm for mysql, execute the following commands:&lt;code&gt;sudo /usr/bin/mysql_install_db&lt;/code&gt;This creates the default databases &amp;amp; permissions. Apparently the same can be done by:&lt;code&gt;sudo rcmysql start&lt;/code&gt;Using SuSE you should use the Yast runlevel editor to start the mysql server automatically at boot time. To start the mysql server manually:&lt;code&gt;sudo /usr/bin/mysqld_safe --user=mysql &amp;amp;&lt;/code&gt;REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! This is done with:&lt;code&gt;/usr/bin/mysqladmin -u root password 'new-password'&lt;/code&gt;If you access the mysql server from another machine you need to specify the hostname:&lt;code&gt;/usr/bin/mysqladmin -u root -h hostname password 'new-password'&lt;/code&gt;Give all privileges to root and user:&lt;code&gt;mcblpc2:/home/user /usr/bin/mysql -u root -pEnter password:Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 6 to server version: 4.0.15 Type 'help;' or '\h' for help. Type '\c' to clear the buffer.mysql&amp;gt; GRANT ALL PRIVILEGES ON *.* TO user@localhost IDENTIFIED BY 'Password' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec)mysql&amp;gt; GRANT ALL PRIVILEGES ON *.* TO user@'%' IDENTIFIED BY 'Password' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec)mysql&amp;gt; GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY 'Password' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec)mysql&amp;gt; GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY 'Password' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec)mysql&amp;gt; quit Bye&lt;/code&gt;Check the mysql version:&lt;code&gt;/usr/bin/mysqladmin -u root -p version&amp;quot; is necessary&lt;/code&gt;Check the mysql variables:&lt;code&gt;/usr/bin/mysqladmin -u root -p variables&lt;/code&gt;Shut down the mysql server:&lt;code&gt;/usr/bin/mysqladmin -u root -p shutdown&lt;/code&gt;Check whether the server can be started:&lt;code&gt;sudo /usr/bin/mysqld_safe --log &amp;amp;&lt;/code&gt;Show all databases:&lt;code&gt;/usr/bin/mysqlshow -u root -p&lt;/code&gt;Show the tables of database &amp;ldquo;mysql&amp;rdquo;:&lt;code&gt;/usr/bin mysqlshow -u root -p mysql&lt;/code&gt;Show the columns of the table named &amp;rsquo;tablename&amp;rsquo;:&lt;code&gt;show columns from tablename;&lt;/code&gt;Remove whitespaces from the column named &amp;lsquo;columnname&amp;rsquo; in the table named &amp;rsquo;tablename&amp;rsquo;:&lt;code&gt;update &lt;/code&gt;tablename&lt;code&gt;set&lt;/code&gt;columnname&lt;code&gt;= trim(' ' from&lt;/code&gt;columnname&lt;code&gt;);&lt;/code&gt;Remove trailing line breaks from the column named &amp;lsquo;columnname&amp;rsquo; in the table named &amp;rsquo;tablename&amp;rsquo; (you might need to execute this repeatedly for some strange reason to remove all carriage returns and line feeds):&lt;code&gt;update &lt;/code&gt;tablename&lt;code&gt;set&lt;/code&gt;columnname&lt;code&gt;= trim(trailing '\n' from&lt;/code&gt;columnname&lt;code&gt;);update &lt;/code&gt;tablename&lt;code&gt;set&lt;/code&gt;columnname&lt;code&gt;= trim(trailing '\r' from&lt;/code&gt;columnname&lt;code&gt;);&lt;/code&gt;&lt;/p&gt;</description></item></channel></rss>