debian - 自启动的例子
发布日期:2021-06-30 22:19:34 浏览次数:2 分类:技术文章

本文共 4965 字,大约阅读时间需要 16 分钟。

前言

旧服务器上debian7.8.0写的了一些自动启动的脚本,备份一下.

实验

root@lsserver:~# cat /etc/rc.local#!/bin/sh -e## rc.local## This script is executed at the end of each multiuser runlevel.# Make sure that the script will "exit 0" on success or any other# value on error.## In order to enable or disable this script just change the execution# bits.## By default this script does nothing.# because only root user can mount disksu - root -c /home/lostspeed/mount_my_disk.sh# !!! first run vncpasswd on below user's environment to set password for vncsu - lostspeed -c /home/lostspeed/start_vncserver.sh# mount all cdrom to install app# this call must on the end, else after this call will not be run su - root -c /home/debian-cd/mount-all-cd.shexit 0
root@lsserver:~# cat /home/lostspeed/mount_my_disk.sh# mount my disk data0 and data1 to /media/data0 and /media/data1mount /dev/sdb /media/data0mount /dev/sdc /media/data1# mount /media/data0/ftp_data0 to /home/ftpuser/ftp_data0mount --bind /media/data0/ftp_data0 /home/ftpuser/ftp_data0
root@lsserver:~# cat /home/debian-cd/mount-all-cd.shmount -o loop /home/debian-cd/debian-7.8.0-amd64-CD-1.iso /mnt/update-sources/dir_cd1mount -o loop /home/debian-cd/debian-7.8.0-amd64-CD-2.iso /mnt/update-sources/dir_cd2mount -o loop /home/debian-cd/debian-7.8.0-amd64-CD-3.iso /mnt/update-sources/dir_cd3mount -o loop /home/debian-cd/debian-7.8.0-amd64-CD-4.iso /mnt/update-sources/dir_cd4mount -o loop /home/debian-cd/debian-7.8.0-amd64-CD-5.iso /mnt/update-sources/dir_cd5mount -o loop /home/debian-cd/debian-7.8.0-amd64-CD-6.iso /mnt/update-sources/dir_cd6mount -o loop /home/debian-cd/debian-7.8.0-amd64-CD-7.iso /mnt/update-sources/dir_cd7mount -o loop /home/debian-cd/debian-7.8.0-amd64-CD-8.iso /mnt/update-sources/dir_cd8# debian-7.8.0-amd64-CD-8.iso# mount -o loop /home/debian-cd/debian-7.8.0-amd64-CD-8.iso /mnt/update-sources/cd8
root@lsserver:/home/ftpuser# cat close_vncserver.sh# /// @file /home/lostspeed/start_vncserver.shvncserver -kill :1
root@lsserver:/home/ftpuser# cat show_vncserver.shps aux |grep vnc
root@lsserver:/home/ftpuser# cat start_vncserver.sh# /// @file /home/lostspeed/start_vncserver.shvncserver :1 -geometry 1024x768 -depth 24
root@lsserver:/media/data1/svn-rep# cat svn_show.sh ps aux |grep svn
root@lsserver:/media/data1/svn-rep# cat svn_start.sh svnserve -d

2018-1225

自己用的测试服务器,自动挂载硬盘和启动服务(xrdp, svn)的测试脚本。

root@debian9:~# cat /etc/rc.local#!/bin/sh -e# @file /etc/rc.local# exec sh as user rootsu - root -c /home/lostspeed/my_os_boot_cfg/my_boot_cfg_as_root.sh# exec sh as user lostspeedsu - lostspeed -c /home/lostspeed/my_os_boot_cfg/my_boot_cfg_as_lostspeed.shexit 0
#!/bin/sh# @file /home/lostspeed/my_os_boot_cfg/my_boot_cfg_as_root.sh# @note #	if need debug bash command, can use "echo -e" + "sleep 10s"# 	if need test this sh, can "umount path_by_mount" + "rm -rf path_by_mount"echo -e ">> my_boot_cfg_as_root.sh"# sleep 10s# i will mount 4 hard disk, use fdisk -l see the hd list# /dev/sda is sys hd = 1TB(SG disk OEM by dell) , already mount by debian9# /dev/sdb is hd2 = 1TB(WD red disk, 5400), format by debian9's gui disk manager, only /dev/sdb1 is ext4, other space was unused# because /dev/sdb is not all ext4, mount it have errorr, only mount /dev/sdb1echo -e "mount /dev/sdb1"mkdir -p /media/hd2_1mount /dev/sdb1 /media/hd2_1# /dev/sdc is hd3 = 4TB(WD red disk, 5400)echo -e "mount /dev/sdc"mkdir -p /media/hd3mount /dev/sdc /media/hd3# /dev/sdd is hd4 = 4TB(WD red disk, 5400)echo -e "mount /dev/sdd"mkdir -p /media/hd4mount /dev/sdd /media/hd4# /dev/sde is hd5 = 8TB(WD red disk, 5400)echo -e "mount /dev/sde"mkdir -p /media/hd5mount /dev/sde /media/hd5# mount disk to user homeecho -e "mount --bind /media/hd2_1"mkdir -p /home/lostspeed/disk_workmount --bind /media/hd2_1 /home/lostspeed/disk_workecho -e "mount --bind /media/hd3"mkdir -p /home/lostspeed/disk_data1mount --bind /media/hd3 /home/lostspeed/disk_data1echo -e "mount --bind /media/hd4"mkdir -p /home/lostspeed/disk_data2mount --bind /media/hd4 /home/lostspeed/disk_data2echo -e "mount --bind /media/hd5"mkdir -p /home/lostspeed/disk_data3mount --bind /media/hd5 /home/lostspeed/disk_data3# start xrdpecho -e "start xrdp"# systemctl only root user can call itsystemctl restart xrdp# when boot ok, when entry login UI, use mstsc on win10x64 to connect debian9 server ok(use xvnc protocol + user lostspeed)# start svn# because my svn dir create by root user, so must exec bash on my_boot_cfg_as_root.shecho -e "start svn"# on /home/lostspeed/disk_data2/svn-rep, i was already do below# svnadmin create my_svn_rep_2019# so start svn by root dir is /home/lostspeed/disk_data2/svn-repsvnserve -d -r /home/lostspeed/disk_data2/svn-rep/# when svn check, the url is svn://192.168.2.222/my_svn_rep_2019/echo -e "<< my_boot_cfg_as_root.sh"

以普通用户启动的脚本为空,真说不过去, 用root用户方便一些…

#!/bin/sh# @file /home/lostspeed/my_os_boot_cfg/my_boot_cfg_as_lostspeed.shecho -e ">> my_boot_cfg_as_lostspeed.sh"# sleep 10secho -e "<< my_boot_cfg_as_lostspeed.sh"

转载地址:https://lostspeed.blog.csdn.net/article/details/85220152 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:winscp上传后,文件名乱码的解决方法
下一篇:experiment: UI中的资源字符串国际化

发表评论

最新留言

不错!
[***.144.177.141]2024年04月06日 07时23分47秒