Both sides previous revisionPrevious revisionNext revision | Previous revision |
linux:slug [2010/03/20 17:52] – alien | linux:slug [2010/04/24 19:20] (current) – More slashes at the end of directories removed. alien |
---|
After flashing with new firmware, enable the telnet server, login as //root// and while logged on perform the "//unsling//": | After flashing with new firmware, enable the telnet server, login as //root// and while logged on perform the "//unsling//": |
| |
* Plugin a flash disk (512MB or larger) into the "''Disk 2''" port | * Plugin an unformatted flash disk (512MB or larger) into the "''Disk 2''" port |
* In the Web GUI, [[http://192.168.1.77/Management/disk_fs.htm|http://192.168.1.77/Management/disk_fs.htm]] check that the flash disk is detected, and let the NSLU2 format it. After formatting it must display as "''Formatted (EXT3)''"! | * In the Web GUI, [[http://192.168.1.77/Management/disk_fs.htm|http://192.168.1.77/Management/disk_fs.htm]] check that the flash disk is detected, and let the NSLU2 format it. After formatting it must display as "''Formatted (EXT3)''"! |
* In the telnet session (stay logged in!) enter <code>unsling disk2</code>. You will have to enter a new password for root then. | * In the telnet session (stay logged in!) enter <code>unsling disk2</code>. You will have to enter a new password for root then. |
</code> | </code> |
| |
This will automatically install the dependencies as well: | Please follow carefully the post-installation instructions shown on-screen after installing some of these packages (such as syslog-ng, nfs-utils) or they will not work properly. Sendmail will for instance state: <code bash> |
| sendmail will run as a daemon now. Alternatively, execute: |
| echo 'smtp stream tcp nowait root /opt/sbin/sendmail -bs' >> /etc/inetd.conf |
| echo '0-59/15 * * * * root /opt/sbin/sendmail -q & > /dev/null 2>&1' >> /etc/crontab |
| </code> |
| |
| Installing these base packages will automatically install their dependencies as well: |
* for openssh : openssl, zlib | * for openssh : openssl, zlib |
* for rsnapshot : coreutils, perl, rsync, openssh | * for rsnapshot : coreutils, perl, rsync, openssh |
# mkdir /mnt/thevault/.snapshots | # mkdir /mnt/thevault/.snapshots |
</code> Set the proper permissions on all directories: <code> | </code> Set the proper permissions on all directories: <code> |
# chmod 0700 /mnt/thevault/.private/ | # chmod 0700 /mnt/thevault/.private |
# chmod 0755 /mnt/thevault/.private/.snapshots/ | # chmod 0755 /mnt/thevault/.private/.snapshots |
# chmod 0755 /mnt/thevault/.snapshots/ | # chmod 0755 /mnt/thevault/.snapshots |
</code> In ''/etc/exports'', add the directory ''.private/.snapshots/'' as a read only NFS export: <code> | </code> In ''/opt/etc/exports'', add the directory ''.private/.snapshots'' as a read only NFS export: <code> |
/mnt/thevault/.private/.snapshots/ 127.0.0.1(ro,no_root_squash) | /mnt/thevault/.private/.snapshots 127.0.0.1(ro,no_root_squash) |
</code> In ''/etc/fstab'', mount ''.private/.snapshots/'' read-only under ''.snapshots/'' <code> | </code> In ''/etc/fstab'', mount ''.private/.snapshots'' read-only under ''.snapshots'' <code> |
localhost:/mnt/thevault/.private/.snapshots/ /mnt/thevault/.snapshots/ nfs ro 0 0 | localhost:/mnt/thevault/.private/.snapshots /mnt/thevault/.snapshots nfs ro 0 0 |
</code> Now restart the NFS daemon: <code> | </code> Now restart the NFS daemon: <code> |
/opt/etc/init.d/S56nfs-utils condrestart | /opt/etc/init.d/S56nfs-utils condrestart |
</code> Now mount the read-only snapshot root (happens automatically at boot): <code> | </code> Now mount the read-only snapshot root (happens automatically at boot): <code> |
# mount /mnt/thevault/.snapshots/</code> | # mount /mnt/thevault/.snapshots</code> |
| |
* In ''/opt/etc/mail/aliases'' add an email alias for user root so that you will receive emails generated from root's cronjobs. | * In ''/opt/etc/mail/aliases'' add an email alias for user root so that you will receive emails generated from root's cronjobs. |
</code> As you may notice, these crontab entries schedule the jobs with larger intervals to run a bit before the jobs that trigger more regularly.(//daily// runs 30 minutes before //hourly//; and //weekly// in turn runs 30 minutes before //daily//). This is to prevent for instance the //weekly// rsnapshot job to run before the //daily// job (the same goes for combinations of other intervals). If you would schedule them the other way round, a problem may arise in case the larger interval job would start (re)moving backup directories before the shorter interval job has finished it's work. | </code> As you may notice, these crontab entries schedule the jobs with larger intervals to run a bit before the jobs that trigger more regularly.(//daily// runs 30 minutes before //hourly//; and //weekly// in turn runs 30 minutes before //daily//). This is to prevent for instance the //weekly// rsnapshot job to run before the //daily// job (the same goes for combinations of other intervals). If you would schedule them the other way round, a problem may arise in case the larger interval job would start (re)moving backup directories before the shorter interval job has finished it's work. |
| |
| <note>It seems that my changes to ''/etc/fstab'' are being overwritten at boot. However, there is an alternative to mounting through fstab: If the file ''/unslung/rc.local'' exists, it will be executed. So, I copied ''/etc/rc.d/rc.local'' to that file (it did not exist): <code> |
| cp -a /etc/rc.d/rc.local /unslung/rc.local</code> removed the line <code> |
| if ( [ -r /unslung/rc.local ] && . /unslung/rc.local ) ; then return 0 ; fi |
| </code> and then added these lines at the bottom: <code> |
| mount -t ext3 -o defaults,usrquota /dev/sdb1 /mnt/thevault |
| mount -t nfs localhost:/mnt/thevault/.private/.snapshots /mnt/thevault/.snapshots |
| </code></note> |
| |
==== The rsnapshot log file ==== | ==== The rsnapshot log file ==== |
</code> | </code> |
| |
<note warn> I have not managed to make the //slug//'s cron send me emails yet using sendmail ... If anyone knows what I missed, let me know on the discussion page</note> | <note warn> I have not managed to make the //slug//'s cron send me emails yet using sendmail ... all emails seem to piling up in the local mail spool. If anyone knows what I missed, let me know on the discussion page</note> |
| |